Skip to content

Commit

Permalink
8.0.0-beta RC (plaid#272)
Browse files Browse the repository at this point in the history
A wrapped client library over new generated internals.  Check out the CHANGELOG.md :)

Co-authored-by: Stephen Jayakar <sjayakar@plaid.com>
  • Loading branch information
stephenjayakar and Stephen Jayakar authored Nov 3, 2020
1 parent 0fb0ff5 commit 1556f4d
Show file tree
Hide file tree
Showing 314 changed files with 65,215 additions and 16,949 deletions.
23 changes: 2 additions & 21 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,31 +6,12 @@ jobs:
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
docker:
- image: circleci/build-image:ubuntu-14.04-XXL-upstart-1189-5614f37
- image: circleci/python:3.7.8
steps:
- checkout
- run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS
- run:
command: pyenv global 2.7.10 3.6.0
- restore_cache:
keys:
- v1-dep-{{ .Branch }}-
- v1-dep-master-
- v1-dep-
- run: pip install --upgrade pip
- run: pip install tox tox-pyenv
- run: pyenv local 2.7.10 3.6.0
- save_cache:
key: v1-dep-{{ .Branch }}-{{ epoch }}
paths:
- vendor/bundle
- ~/virtualenvs
- ~/.m2
- ~/.ivy2
- ~/.bundle
- ~/.go_workspace
- ~/.gradle
- ~/.cache/bower
- run: pip install tox
- run: tox
- store_test_results:
path: /tmp/circleci-test-results
Expand Down
21 changes: 0 additions & 21 deletions .github/workflows/add_to_project.yml

This file was deleted.

16 changes: 0 additions & 16 deletions .travis.yml

This file was deleted.

33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,36 @@
## 8.0.0-beta
This version represents a transition in how we maintain our external client libraries. We are now using an API spec written in `OpenAPI 3.0.0` and are running our definition file through [OpenAPITool's `python` generator](https://github.com/OpenAPITools/openapi-generator).

As part of this transition, we have created a wrapper around existing APIs to ease the burden of migrating to the new API client. The completely unwrapped version will be available next year as we have a few internal changes left to fully support it.

The `OpenAPI` file will be actively maintained and published (coming soon) whenever changes are made to any of our external HTTP API surfaces. This client library is now pinned to Python `3.7.x` with tests running on Python `3.7.8`.

- Added the `BankTransfer` product.
- This also adds the endpoint `Sandbox.bank_transfer.simulate`.
- Exposed optional parameters for multiple endpoints:
- `Holdings.get`
- `Institutions.get`
- `Institutions.get_by_id`
- `Institutions.search`
- `Item.import_item`
- `PaymentInitiation.list_payments`
- Added new optional parameter `schedule` to `PaymentInitiation.create_payment`
- Added new `Processor` endpoints:
- `auth_get`, `balance_get`, `identity_get`

BREAKING CHANGES:

- Removed the `CreditDetails` and `Income` products.
- Removed ability to specify `api_version`, `timeout`, and `suppress_warnings`.
- The API Version is pinned as of `7.0.0`, so `api_version` shouldn't be here anymore
- `timeout` and `suppress_warnings` aren't parameters that are configurable in the output generated code. For things that could be configured once the generated code is unwrapped, check out `generated_plaid.Configuration`.
- Made `products` non-optional for `Institutions.search`.
- Renamed all `Processor` endpoints from `camelCase` to `snake_case`.

Other Deprecations:

- Removed all in-code documentation. Refer to our new [docs](https://plaid.com/docs), which are generated from the same OpenAPI schema!

## 7.1.0

- Add options for overriding username and password to /sandbox/public_token/create
Expand Down
3 changes: 1 addition & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
cp .env.example .env
```

2. Go to the [Plaid Dashboard](https://dashboard.plaid.com/) and copy and paste your `client_id`, and `secret`
into `.env` using a text editor of your choice. Your account must be enabled for sandbox access.
2. Go to the [Plaid Dashboard](https://dashboard.plaid.com/) and copy and paste your `client_id`, and `secret` into `.env` using a text editor of your choice. Your account must be enabled for sandbox access.

3. Install the necessary dependencies.

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License

Copyright (c) 2014-2017 Plaid Technologies, Inc. <support@plaid.com>
Copyright (c) 2014-2020 Plaid Technologies, Inc. <support@plaid.com>

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
Expand Down
8 changes: 0 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,6 @@ test: lint
setup:
pip install -r requirements.txt

.PHONY: docs
docs:
-rm -r docs/
sphinx-build docs_source/ docs/ -b html
touch docs/.nojekyll
cp docs_source/index.html docs/


# Clean the /dist directory for a new publish
.PHONY: package-clean
package-clean:
Expand Down
22 changes: 2 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ $ pip install plaid-python
The module supports all Plaid API endpoints. For complete information about
the API, head to the [docs][2].

For a full list of endpoints and arguments, see the [python docs][7].

## Getting Started

### Calling Endpoints
Expand All @@ -46,23 +44,6 @@ client = Client(client_id='***', secret='***', environment='sandbox')
Each endpoint returns a dictionary which contains the parsed JSON from the
HTTP response.

### Versioning

You can specify the Plaid API version you wish to use when initializing `plaid`.

```python
from plaid import Client

client = Client(
client_id='***',
secret='***',
environment='sandbox',
api_version='2019-05-29' # Specify API version
)
```

For information about what has changed between versions and how to update your integration, head to the [API upgrade guide][api-upgrades].

### Errors

All non-200 responses will throw a `plaid.errors.PlaidError`.
Expand Down Expand Up @@ -198,6 +179,7 @@ Work around is installing `pyopenssl ndg-httpsclient pyasn1` from pip.

2. Requests are no longer made using `urlfetch.fetch` on Google App Engine. You will need to use the appengine requests
adapter to monkeypatch requests. See the [app engine documentation][8] for details.

## Contributing

Please see [Contributing](CONTRIBUTING.md) for guidelines and instructions
Expand Down Expand Up @@ -227,4 +209,4 @@ Version 2.0.0 was authored by [Joy Zheng](https://github.com/joyzheng) and
[8]: https://cloud.google.com/appengine/docs/python/issue-requests
[9]: https://blog.plaid.com/improving-our-api/
[10]: https://github.com/plaid/plaid-python-legacy
[api-upgrades]: https://plaid.com/docs/api/versioning/
[api-upgrades]: https://plaid.com/docs/api-upgrades/
Empty file removed docs/.nojekyll
Empty file.
Loading

0 comments on commit 1556f4d

Please sign in to comment.