Skip to content

Commit f5c7fc2

Browse files
committed
Initial commit
0 parents  commit f5c7fc2

File tree

342 files changed

+39671
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

342 files changed

+39671
-0
lines changed

.github/workflows/build-test.yml

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Build and Test
2+
3+
on: [push]
4+
jobs:
5+
build:
6+
runs-on: ubuntu-latest
7+
strategy:
8+
matrix:
9+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
10+
steps:
11+
- uses: actions/checkout@v4
12+
- name: Set up Python ${{ matrix.python-version }}
13+
uses: actions/setup-python@v4
14+
with:
15+
python-version: ${{ matrix.python-version }}
16+
- name: Install dependencies
17+
run: |
18+
python -m pip install --upgrade pip
19+
pip install -r requirements.txt
20+
pip install -r test-requirements.txt
21+
- name: Test with pytest
22+
run: |
23+
pytest --cov=ynab

.gitignore

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
env/
12+
build/
13+
develop-eggs/
14+
dist/
15+
downloads/
16+
eggs/
17+
.eggs/
18+
lib/
19+
lib64/
20+
parts/
21+
sdist/
22+
var/
23+
*.egg-info/
24+
.installed.cfg
25+
*.egg
26+
27+
# PyInstaller
28+
# Usually these files are written by a python script from a template
29+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
30+
*.manifest
31+
*.spec
32+
33+
# Installer logs
34+
pip-log.txt
35+
pip-delete-this-directory.txt
36+
37+
# Unit test / coverage reports
38+
htmlcov/
39+
.tox/
40+
.coverage
41+
.coverage.*
42+
.cache
43+
nosetests.xml
44+
coverage.xml
45+
*,cover
46+
.hypothesis/
47+
venv/
48+
.venv/
49+
.python-version
50+
.pytest_cache
51+
52+
# Translations
53+
*.mo
54+
*.pot
55+
56+
# Django stuff:
57+
*.log
58+
59+
# Sphinx documentation
60+
docs/_build/
61+
62+
# PyBuilder
63+
target/
64+
65+
#Ipython Notebook
66+
.ipynb_checkpoints

.openapi-generator-ignore

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# OpenAPI Generator Ignore
2+
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
3+
4+
# Use this file to prevent files from being overwritten by the generator.
5+
# The patterns follow closely to .gitignore or .dockerignore.
6+
7+
# As an example, the C# client generator defines ApiClient.cs.
8+
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
9+
#ApiClient.cs
10+
11+
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
12+
#foo/*/qux
13+
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
14+
15+
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
16+
#foo/**/qux
17+
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
18+
19+
# You can also negate patterns with an exclamation (!).
20+
# For example, you can ignore all files in a docs folder with the file extension .md:
21+
#docs/*.md
22+
# Then explicitly reverse the ignore rule for a single file:
23+
#!docs/README.md
24+
25+
.github/
26+
.gitlab-ci.yml
27+
.travis.yml
28+
git_push.sh
29+
README.md

.openapi-generator/FILES

+225
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
.gitignore
2+
docs/Account.md
3+
docs/AccountResponse.md
4+
docs/AccountResponseData.md
5+
docs/AccountType.md
6+
docs/AccountsApi.md
7+
docs/AccountsResponse.md
8+
docs/AccountsResponseData.md
9+
docs/BudgetDetail.md
10+
docs/BudgetDetailResponse.md
11+
docs/BudgetDetailResponseData.md
12+
docs/BudgetSettings.md
13+
docs/BudgetSettingsResponse.md
14+
docs/BudgetSettingsResponseData.md
15+
docs/BudgetSummary.md
16+
docs/BudgetSummaryResponse.md
17+
docs/BudgetSummaryResponseData.md
18+
docs/BudgetsApi.md
19+
docs/BulkResponse.md
20+
docs/BulkResponseData.md
21+
docs/BulkResponseDataBulk.md
22+
docs/BulkTransactions.md
23+
docs/CategoriesApi.md
24+
docs/CategoriesResponse.md
25+
docs/CategoriesResponseData.md
26+
docs/Category.md
27+
docs/CategoryGroup.md
28+
docs/CategoryGroupWithCategories.md
29+
docs/CategoryResponse.md
30+
docs/CategoryResponseData.md
31+
docs/CurrencyFormat.md
32+
docs/DateFormat.md
33+
docs/ErrorDetail.md
34+
docs/ErrorResponse.md
35+
docs/ExistingTransaction.md
36+
docs/HybridTransaction.md
37+
docs/HybridTransactionsResponse.md
38+
docs/HybridTransactionsResponseData.md
39+
docs/MonthDetail.md
40+
docs/MonthDetailResponse.md
41+
docs/MonthDetailResponseData.md
42+
docs/MonthSummariesResponse.md
43+
docs/MonthSummariesResponseData.md
44+
docs/MonthSummary.md
45+
docs/MonthsApi.md
46+
docs/NewTransaction.md
47+
docs/PatchCategoryWrapper.md
48+
docs/PatchMonthCategoryWrapper.md
49+
docs/PatchPayeeWrapper.md
50+
docs/PatchTransactionsWrapper.md
51+
docs/Payee.md
52+
docs/PayeeLocation.md
53+
docs/PayeeLocationResponse.md
54+
docs/PayeeLocationResponseData.md
55+
docs/PayeeLocationsApi.md
56+
docs/PayeeLocationsResponse.md
57+
docs/PayeeLocationsResponseData.md
58+
docs/PayeeResponse.md
59+
docs/PayeeResponseData.md
60+
docs/PayeesApi.md
61+
docs/PayeesResponse.md
62+
docs/PayeesResponseData.md
63+
docs/PostAccountWrapper.md
64+
docs/PostScheduledTransactionWrapper.md
65+
docs/PostTransactionsWrapper.md
66+
docs/PutTransactionWrapper.md
67+
docs/SaveAccount.md
68+
docs/SaveCategory.md
69+
docs/SaveCategoryResponse.md
70+
docs/SaveCategoryResponseData.md
71+
docs/SaveMonthCategory.md
72+
docs/SavePayee.md
73+
docs/SavePayeeResponse.md
74+
docs/SavePayeeResponseData.md
75+
docs/SaveScheduledTransaction.md
76+
docs/SaveSubTransaction.md
77+
docs/SaveTransactionWithIdOrImportId.md
78+
docs/SaveTransactionWithOptionalFields.md
79+
docs/SaveTransactionsResponse.md
80+
docs/SaveTransactionsResponseData.md
81+
docs/ScheduledSubTransaction.md
82+
docs/ScheduledTransactionDetail.md
83+
docs/ScheduledTransactionFrequency.md
84+
docs/ScheduledTransactionResponse.md
85+
docs/ScheduledTransactionResponseData.md
86+
docs/ScheduledTransactionSummary.md
87+
docs/ScheduledTransactionsApi.md
88+
docs/ScheduledTransactionsResponse.md
89+
docs/ScheduledTransactionsResponseData.md
90+
docs/SubTransaction.md
91+
docs/TransactionClearedStatus.md
92+
docs/TransactionDetail.md
93+
docs/TransactionFlagColor.md
94+
docs/TransactionResponse.md
95+
docs/TransactionResponseData.md
96+
docs/TransactionSummary.md
97+
docs/TransactionsApi.md
98+
docs/TransactionsImportResponse.md
99+
docs/TransactionsImportResponseData.md
100+
docs/TransactionsResponse.md
101+
docs/TransactionsResponseData.md
102+
docs/User.md
103+
docs/UserApi.md
104+
docs/UserResponse.md
105+
docs/UserResponseData.md
106+
pyproject.toml
107+
requirements.txt
108+
setup.cfg
109+
setup.py
110+
test-requirements.txt
111+
test/__init__.py
112+
tox.ini
113+
ynab/__init__.py
114+
ynab/api/__init__.py
115+
ynab/api/accounts_api.py
116+
ynab/api/budgets_api.py
117+
ynab/api/categories_api.py
118+
ynab/api/months_api.py
119+
ynab/api/payee_locations_api.py
120+
ynab/api/payees_api.py
121+
ynab/api/scheduled_transactions_api.py
122+
ynab/api/transactions_api.py
123+
ynab/api/user_api.py
124+
ynab/api_client.py
125+
ynab/api_response.py
126+
ynab/configuration.py
127+
ynab/exceptions.py
128+
ynab/models/__init__.py
129+
ynab/models/account.py
130+
ynab/models/account_response.py
131+
ynab/models/account_response_data.py
132+
ynab/models/account_type.py
133+
ynab/models/accounts_response.py
134+
ynab/models/accounts_response_data.py
135+
ynab/models/budget_detail.py
136+
ynab/models/budget_detail_response.py
137+
ynab/models/budget_detail_response_data.py
138+
ynab/models/budget_settings.py
139+
ynab/models/budget_settings_response.py
140+
ynab/models/budget_settings_response_data.py
141+
ynab/models/budget_summary.py
142+
ynab/models/budget_summary_response.py
143+
ynab/models/budget_summary_response_data.py
144+
ynab/models/bulk_response.py
145+
ynab/models/bulk_response_data.py
146+
ynab/models/bulk_response_data_bulk.py
147+
ynab/models/bulk_transactions.py
148+
ynab/models/categories_response.py
149+
ynab/models/categories_response_data.py
150+
ynab/models/category.py
151+
ynab/models/category_group.py
152+
ynab/models/category_group_with_categories.py
153+
ynab/models/category_response.py
154+
ynab/models/category_response_data.py
155+
ynab/models/currency_format.py
156+
ynab/models/date_format.py
157+
ynab/models/error_detail.py
158+
ynab/models/error_response.py
159+
ynab/models/existing_transaction.py
160+
ynab/models/hybrid_transaction.py
161+
ynab/models/hybrid_transactions_response.py
162+
ynab/models/hybrid_transactions_response_data.py
163+
ynab/models/month_detail.py
164+
ynab/models/month_detail_response.py
165+
ynab/models/month_detail_response_data.py
166+
ynab/models/month_summaries_response.py
167+
ynab/models/month_summaries_response_data.py
168+
ynab/models/month_summary.py
169+
ynab/models/new_transaction.py
170+
ynab/models/patch_category_wrapper.py
171+
ynab/models/patch_month_category_wrapper.py
172+
ynab/models/patch_payee_wrapper.py
173+
ynab/models/patch_transactions_wrapper.py
174+
ynab/models/payee.py
175+
ynab/models/payee_location.py
176+
ynab/models/payee_location_response.py
177+
ynab/models/payee_location_response_data.py
178+
ynab/models/payee_locations_response.py
179+
ynab/models/payee_locations_response_data.py
180+
ynab/models/payee_response.py
181+
ynab/models/payee_response_data.py
182+
ynab/models/payees_response.py
183+
ynab/models/payees_response_data.py
184+
ynab/models/post_account_wrapper.py
185+
ynab/models/post_scheduled_transaction_wrapper.py
186+
ynab/models/post_transactions_wrapper.py
187+
ynab/models/put_transaction_wrapper.py
188+
ynab/models/save_account.py
189+
ynab/models/save_category.py
190+
ynab/models/save_category_response.py
191+
ynab/models/save_category_response_data.py
192+
ynab/models/save_month_category.py
193+
ynab/models/save_payee.py
194+
ynab/models/save_payee_response.py
195+
ynab/models/save_payee_response_data.py
196+
ynab/models/save_scheduled_transaction.py
197+
ynab/models/save_sub_transaction.py
198+
ynab/models/save_transaction_with_id_or_import_id.py
199+
ynab/models/save_transaction_with_optional_fields.py
200+
ynab/models/save_transactions_response.py
201+
ynab/models/save_transactions_response_data.py
202+
ynab/models/scheduled_sub_transaction.py
203+
ynab/models/scheduled_transaction_detail.py
204+
ynab/models/scheduled_transaction_frequency.py
205+
ynab/models/scheduled_transaction_response.py
206+
ynab/models/scheduled_transaction_response_data.py
207+
ynab/models/scheduled_transaction_summary.py
208+
ynab/models/scheduled_transactions_response.py
209+
ynab/models/scheduled_transactions_response_data.py
210+
ynab/models/sub_transaction.py
211+
ynab/models/transaction_cleared_status.py
212+
ynab/models/transaction_detail.py
213+
ynab/models/transaction_flag_color.py
214+
ynab/models/transaction_response.py
215+
ynab/models/transaction_response_data.py
216+
ynab/models/transaction_summary.py
217+
ynab/models/transactions_import_response.py
218+
ynab/models/transactions_import_response_data.py
219+
ynab/models/transactions_response.py
220+
ynab/models/transactions_response_data.py
221+
ynab/models/user.py
222+
ynab/models/user_response.py
223+
ynab/models/user_response_data.py
224+
ynab/py.typed
225+
ynab/rest.py

.openapi-generator/VERSION

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
7.10.0

.tool-versions

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
python 3.9.10

DEVELOPMENT.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Development
2+
3+
## Setup
4+
5+
- Install dependencies: `pip install -r requirements.txt && pip install -r test-requirements.txt`
6+
- Install [OpenAPI Generator](https://openapi-generator.tech/) (on macOS: `brew install openapi-generator`)
7+
- Run tests: `pytest --cov=ynab`
8+
9+
## Generating
10+
11+
1. Change `PACKAGE_VERSION` in `scripts/generate.sh`.
12+
1. Run `scripts/generate.sh`.
13+
14+
## Publishing
15+
16+
1. Run `pip install setuptools wheel twine`.
17+
1. Generate package: `python setup.py sdist bdist_wheel`.
18+
1. Upload package: `twine upload dist/*`.

0 commit comments

Comments
 (0)