Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
23 changes: 21 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,31 @@ jobs:
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
docker:
- image: circleci/python:3.7.8
- image: circleci/build-image:ubuntu-14.04-XXL-upstart-1189-5614f37
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
- 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: tox
- store_test_results:
path: /tmp/circleci-test-results
Expand Down
16 changes: 16 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
sudo: false

language: python

python:
- "2.7"
- "3.2"
- "3.3"
- "3.4"
- "3.5"
install:
- "make setup"
becore_script:
- "make lint"
script:
- "make test"
50 changes: 6 additions & 44 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,9 @@
## 8.0.0b4
Fix a regression with `warnings` not being imported, which is required for `Client` initialization in the development environment.

## 8.0.0b3
`request_id` added back to link token.
`bank_transfers` fixes.
`/processor/auth/get` fix nested type return object.
`/link/token/create` fix nested type return object.

## 8.0.0b2
Fix a regression in sending the `User-Agent` header.

## 8.0.0b1
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.2.0
- The legacy `/item/public_token/create` endpoint is added back. This endpoint should only be used if you
have your public_key enabled and are not yet migrated to link_tokens. It is marked deprecated.
- The legacy `/payment_initiation/payment/token/create` endpoint is added back. This endpoint should
only be used if you have your public_key enabled and are not yet migrated to link_tokens. It is
marked deprecated.

## 7.1.0

Expand Down
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
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-2020 Plaid Technologies, Inc. <support@plaid.com>
Copyright (c) 2014-2017 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: 8 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@ 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: 20 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ $ 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 @@ -44,6 +46,23 @@ 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 @@ -179,7 +198,6 @@ 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 @@ -209,4 +227,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-upgrades/
[api-upgrades]: https://plaid.com/docs/api/versioning/
Empty file added docs/.nojekyll
Empty file.
Binary file added docs/_static/ajax-loader.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading