From 8a795337d7bee7e9211902364be4d5c4c479c9c4 Mon Sep 17 00:00:00 2001 From: Olivier Bellone Date: Wed, 24 Apr 2019 21:41:54 -0700 Subject: [PATCH] Replace pipenv with poetry --- .gitignore | 3 + .travis.yml | 6 +- MANIFEST.in | 2 - Makefile | 22 +--- Pipfile | 19 --- Pipfile.lock | 307 ------------------------------------------------- README.md | 14 +-- pyproject.toml | 56 +++++++++ setup.cfg | 5 - setup.py | 81 ------------- tox.ini | 1 + 11 files changed, 78 insertions(+), 438 deletions(-) delete mode 100644 MANIFEST.in delete mode 100644 Pipfile delete mode 100644 Pipfile.lock delete mode 100644 setup.cfg delete mode 100644 setup.py diff --git a/.gitignore b/.gitignore index ed6d67c10..5af4842d7 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,9 @@ *.egg *.class +# Poetry lock file +poetry.lock + # Unit test / coverage reports .tox/ .coverage diff --git a/.travis.yml b/.travis.yml index f4c3c18c1..147ce3e30 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,6 +16,7 @@ matrix: cache: directories: - stripe-mock + - "${HOME}/.cache/pypoetry" pip: true env: @@ -37,7 +38,10 @@ before_install: - export PATH="${PATH}:${PWD}/stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}" install: - - make init + - pip install --upgrade pip + - curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python + - source ${HOME}/.poetry/env + - poetry install -v script: - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then make lint; fi diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 4293df995..000000000 --- a/MANIFEST.in +++ /dev/null @@ -1,2 +0,0 @@ -include .coveragerc .flake8 CHANGELOG.md LICENSE LONG_DESCRIPTION.rst README.md VERSION pytest.ini tox.ini -recursive-include tests *.py diff --git a/Makefile b/Makefile index 832410a5e..06ba9ac75 100644 --- a/Makefile +++ b/Makefile @@ -1,27 +1,17 @@ -init: - # Pin pipenv to 2018.10.13 because further releases are incompatible with - # PyPy3. The issue was fixed in https://github.com/pypa/pipenv/pull/3322 - # but no new version has been released yet. - # Also pin pip to 18.x because with more recent versions, we'd need to - # pass `--no-use-pep517`, which pipenv doesn't let us do. Cf. - # https://github.com/pypa/pipenv/issues/3651 - pip install --upgrade pip~=18.0 pipenv==2018.10.13 - pipenv install --dev --skip-lock - test: - pipenv run tox -p auto + poetry run tox -p auto ci: - pipenv run pytest --cov=stripe + poetry run pytest --cov=stripe coveralls: - pipenv run coveralls + poetry run coveralls fmt: - pipenv run tox -e fmt + poetry run tox -e fmt fmtcheck: - pipenv run tox -e fmt -- --check --verbose + poetry run tox -e fmt -- --check --verbose lint: - pipenv run tox -e lint + poetry run tox -e lint diff --git a/Pipfile b/Pipfile deleted file mode 100644 index aa4ce1fd2..000000000 --- a/Pipfile +++ /dev/null @@ -1,19 +0,0 @@ -[[source]] -url = "https://pypi.python.org/simple" -verify_ssl = true -name = "pypi" - -[packages] -stripe = {path = ".",editable = true} - -[dev-packages] -pytest = ">=4.4" -pytest-mock = ">=1.10" -pytest-xdist = ">=1.28" -pytest-cov = ">=2.6" -tox = "*" -"flake8" = "*" -coveralls = "*" - -[requires] -python_version = "3.7" diff --git a/Pipfile.lock b/Pipfile.lock deleted file mode 100644 index d55d6752e..000000000 --- a/Pipfile.lock +++ /dev/null @@ -1,307 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "805accae6e0ceae4d4c06bae20982b72dfe9ff094a7293b4ec49a9670e6c7f62" - }, - "pipfile-spec": 6, - "requires": { - "python_version": "3.7" - }, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.python.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "certifi": { - "hashes": [ - "sha256:59b7658e26ca9c7339e00f8f4636cdfe59d34fa37b9b04f6f9e9926b3cece1a5", - "sha256:b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae" - ], - "version": "==2019.3.9" - }, - "chardet": { - "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" - ], - "version": "==3.0.4" - }, - "idna": { - "hashes": [ - "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", - "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c" - ], - "version": "==2.8" - }, - "requests": { - "hashes": [ - "sha256:502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e", - "sha256:7bf2a778576d825600030a110f3c0e3e8edc51dfaafe1c146e39a2027784957b" - ], - "version": "==2.21.0" - }, - "stripe": { - "editable": true, - "path": "." - }, - "urllib3": { - "hashes": [ - "sha256:4c291ca23bbb55c76518905869ef34bdd5f0e46af7afe6861e8375643ffee1a0", - "sha256:9a247273df709c4fedb38c711e44292304f73f39ab01beda9f6b9fc375669ac3" - ], - "version": "==1.24.2" - } - }, - "develop": { - "apipkg": { - "hashes": [ - "sha256:37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6", - "sha256:58587dd4dc3daefad0487f6d9ae32b4542b185e1c36db6993290e7c41ca2b47c" - ], - "version": "==1.5" - }, - "atomicwrites": { - "hashes": [ - "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4", - "sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6" - ], - "version": "==1.3.0" - }, - "attrs": { - "hashes": [ - "sha256:69c0dbf2ed392de1cb5ec704444b08a5ef81680a61cb899dc08127123af36a79", - "sha256:f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399" - ], - "version": "==19.1.0" - }, - "certifi": { - "hashes": [ - "sha256:59b7658e26ca9c7339e00f8f4636cdfe59d34fa37b9b04f6f9e9926b3cece1a5", - "sha256:b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae" - ], - "version": "==2019.3.9" - }, - "chardet": { - "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" - ], - "version": "==3.0.4" - }, - "coverage": { - "hashes": [ - "sha256:3684fabf6b87a369017756b551cef29e505cb155ddb892a7a29277b978da88b9", - "sha256:39e088da9b284f1bd17c750ac672103779f7954ce6125fd4382134ac8d152d74", - "sha256:3c205bc11cc4fcc57b761c2da73b9b72a59f8d5ca89979afb0c1c6f9e53c7390", - "sha256:465ce53a8c0f3a7950dfb836438442f833cf6663d407f37d8c52fe7b6e56d7e8", - "sha256:48020e343fc40f72a442c8a1334284620f81295256a6b6ca6d8aa1350c763bbe", - "sha256:5296fc86ab612ec12394565c500b412a43b328b3907c0d14358950d06fd83baf", - "sha256:5f61bed2f7d9b6a9ab935150a6b23d7f84b8055524e7be7715b6513f3328138e", - "sha256:68a43a9f9f83693ce0414d17e019daee7ab3f7113a70c79a3dd4c2f704e4d741", - "sha256:6b8033d47fe22506856fe450470ccb1d8ba1ffb8463494a15cfc96392a288c09", - "sha256:7ad7536066b28863e5835e8cfeaa794b7fe352d99a8cded9f43d1161be8e9fbd", - "sha256:7bacb89ccf4bedb30b277e96e4cc68cd1369ca6841bde7b005191b54d3dd1034", - "sha256:839dc7c36501254e14331bcb98b27002aa415e4af7ea039d9009409b9d2d5420", - "sha256:8f9a95b66969cdea53ec992ecea5406c5bd99c9221f539bca1e8406b200ae98c", - "sha256:932c03d2d565f75961ba1d3cec41ddde00e162c5b46d03f7423edcb807734eab", - "sha256:988529edadc49039d205e0aa6ce049c5ccda4acb2d6c3c5c550c17e8c02c05ba", - "sha256:998d7e73548fe395eeb294495a04d38942edb66d1fa61eb70418871bc621227e", - "sha256:9de60893fb447d1e797f6bf08fdf0dbcda0c1e34c1b06c92bd3a363c0ea8c609", - "sha256:9e80d45d0c7fcee54e22771db7f1b0b126fb4a6c0a2e5afa72f66827207ff2f2", - "sha256:a545a3dfe5082dc8e8c3eb7f8a2cf4f2870902ff1860bd99b6198cfd1f9d1f49", - "sha256:a5d8f29e5ec661143621a8f4de51adfb300d7a476224156a39a392254f70687b", - "sha256:aca06bfba4759bbdb09bf52ebb15ae20268ee1f6747417837926fae990ebc41d", - "sha256:bb23b7a6fd666e551a3094ab896a57809e010059540ad20acbeec03a154224ce", - "sha256:bfd1d0ae7e292105f29d7deaa9d8f2916ed8553ab9d5f39ec65bcf5deadff3f9", - "sha256:c62ca0a38958f541a73cf86acdab020c2091631c137bd359c4f5bddde7b75fd4", - "sha256:c709d8bda72cf4cd348ccec2a4881f2c5848fd72903c185f363d361b2737f773", - "sha256:c968a6aa7e0b56ecbd28531ddf439c2ec103610d3e2bf3b75b813304f8cb7723", - "sha256:df785d8cb80539d0b55fd47183264b7002077859028dfe3070cf6359bf8b2d9c", - "sha256:f406628ca51e0ae90ae76ea8398677a921b36f0bd71aab2099dfed08abd0322f", - "sha256:f46087bbd95ebae244a0eda01a618aff11ec7a069b15a3ef8f6b520db523dcf1", - "sha256:f8019c5279eb32360ca03e9fac40a12667715546eed5c5eb59eb381f2f501260", - "sha256:fc5f4d209733750afd2714e9109816a29500718b32dd9a5db01c0cb3a019b96a" - ], - "version": "==4.5.3" - }, - "coveralls": { - "hashes": [ - "sha256:baa26648430d5c2225ab12d7e2067f75597a4b967034bba7e3d5ab7501d207a1", - "sha256:ff9b7823b15070f26f654837bb02a201d006baaf2083e0514ffd3b34a3ffed81" - ], - "index": "pypi", - "version": "==1.7.0" - }, - "docopt": { - "hashes": [ - "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491" - ], - "version": "==0.6.2" - }, - "entrypoints": { - "hashes": [ - "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19", - "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451" - ], - "version": "==0.3" - }, - "execnet": { - "hashes": [ - "sha256:027ee5d961afa01e97b90d6ccc34b4ed976702bc58e7f092b3c513ea288cb6d2", - "sha256:752a3786f17416d491f833a29217dda3ea4a471fc5269c492eebcee8cc4772d3" - ], - "version": "==1.6.0" - }, - "filelock": { - "hashes": [ - "sha256:b8d5ca5ca1c815e1574aee746650ea7301de63d87935b3463d26368b76e31633", - "sha256:d610c1bb404daf85976d7a82eb2ada120f04671007266b708606565dd03b5be6" - ], - "version": "==3.0.10" - }, - "flake8": { - "hashes": [ - "sha256:859996073f341f2670741b51ec1e67a01da142831aa1fdc6242dbf88dffbe661", - "sha256:a796a115208f5c03b18f332f7c11729812c8c3ded6c46319c59b53efd3819da8" - ], - "index": "pypi", - "version": "==3.7.7" - }, - "idna": { - "hashes": [ - "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", - "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c" - ], - "version": "==2.8" - }, - "mccabe": { - "hashes": [ - "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", - "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f" - ], - "version": "==0.6.1" - }, - "more-itertools": { - "hashes": [ - "sha256:2112d2ca570bb7c3e53ea1a35cd5df42bb0fd10c45f0fb97178679c3c03d64c7", - "sha256:c3e4748ba1aad8dba30a4886b0b1a2004f9a863837b8654e7059eebf727afa5a" - ], - "markers": "python_version > '2.7'", - "version": "==7.0.0" - }, - "pluggy": { - "hashes": [ - "sha256:19ecf9ce9db2fce065a7a0586e07cfb4ac8614fe96edf628a264b1c70116cf8f", - "sha256:84d306a647cc805219916e62aab89caa97a33a1dd8c342e87a37f91073cd4746" - ], - "version": "==0.9.0" - }, - "py": { - "hashes": [ - "sha256:64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa", - "sha256:dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53" - ], - "version": "==1.8.0" - }, - "pycodestyle": { - "hashes": [ - "sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56", - "sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c" - ], - "version": "==2.5.0" - }, - "pyflakes": { - "hashes": [ - "sha256:17dbeb2e3f4d772725c777fabc446d5634d1038f234e77343108ce445ea69ce0", - "sha256:d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2" - ], - "version": "==2.1.1" - }, - "pytest": { - "hashes": [ - "sha256:3773f4c235918987d51daf1db66d51c99fac654c81d6f2f709a046ab446d5e5d", - "sha256:b7802283b70ca24d7119b32915efa7c409982f59913c1a6c0640aacf118b95f5" - ], - "index": "pypi", - "version": "==4.4.1" - }, - "pytest-cov": { - "hashes": [ - "sha256:0ab664b25c6aa9716cbf203b17ddb301932383046082c081b9848a0edf5add33", - "sha256:230ef817450ab0699c6cc3c9c8f7a829c34674456f2ed8df1fe1d39780f7c87f" - ], - "index": "pypi", - "version": "==2.6.1" - }, - "pytest-forked": { - "hashes": [ - "sha256:5fe33fbd07d7b1302c95310803a5e5726a4ff7f19d5a542b7ce57c76fed8135f", - "sha256:d352aaced2ebd54d42a65825722cb433004b4446ab5d2044851d9cc7a00c9e38" - ], - "version": "==1.0.2" - }, - "pytest-mock": { - "hashes": [ - "sha256:43ce4e9dd5074993e7c021bb1c22cbb5363e612a2b5a76bc6d956775b10758b7", - "sha256:5bf5771b1db93beac965a7347dc81c675ec4090cb841e49d9d34637a25c30568" - ], - "index": "pypi", - "version": "==1.10.4" - }, - "pytest-xdist": { - "hashes": [ - "sha256:b0bb4b0293ee8657b9eb3ff334a3b6aac4db74fd4a86b81e1982c879237a47eb", - "sha256:f83a485293e81fd57c8a5a85a3f12473a532c5ca7dec518857cbb72766bb526c" - ], - "index": "pypi", - "version": "==1.28.0" - }, - "requests": { - "hashes": [ - "sha256:502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e", - "sha256:7bf2a778576d825600030a110f3c0e3e8edc51dfaafe1c146e39a2027784957b" - ], - "version": "==2.21.0" - }, - "six": { - "hashes": [ - "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", - "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73" - ], - "version": "==1.12.0" - }, - "toml": { - "hashes": [ - "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", - "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e" - ], - "version": "==0.10.0" - }, - "tox": { - "hashes": [ - "sha256:1b166b93d2ce66bb7b253ba944d2be89e0c9d432d49eeb9da2988b4902a4684e", - "sha256:665cbdd99f5c196dd80d1d8db8c8cf5d48b1ae1f778bccd1bdf14d5aaf4ca0fc" - ], - "index": "pypi", - "version": "==3.9.0" - }, - "urllib3": { - "hashes": [ - "sha256:4c291ca23bbb55c76518905869ef34bdd5f0e46af7afe6861e8375643ffee1a0", - "sha256:9a247273df709c4fedb38c711e44292304f73f39ab01beda9f6b9fc375669ac3" - ], - "version": "==1.24.2" - }, - "virtualenv": { - "hashes": [ - "sha256:15ee248d13e4001a691d9583948ad3947bcb8a289775102e4c4aa98a8b7a6d73", - "sha256:bfc98bb9b42a3029ee41b96dc00a34c2f254cbf7716bec824477b2c82741a5c4" - ], - "version": "==16.5.0" - } - } -} diff --git a/README.md b/README.md index 5424fb436..708e04100 100644 --- a/README.md +++ b/README.md @@ -156,9 +156,9 @@ instructions for installing via Homebrew and other methods): go get -u github.com/stripe/stripe-mock stripe-mock -Install [pipenv][pipenv], then install all dependencies for the project: +Install [poetry][poetry], then install all dependencies for the project: - pipenv install --dev + poetry install Run all tests on all supported Python versions: @@ -166,19 +166,19 @@ Run all tests on all supported Python versions: Run all tests for a specific Python version (modify `-e` according to your Python target): - pipenv run tox -e py27 + poetry run tox -e py27 Run all tests in a single file: - pipenv run tox -e py27 -- tests/api_resources/abstract/test_updateable_api_resource.py + poetry run tox -e py27 -- tests/api_resources/abstract/test_updateable_api_resource.py Run a single test suite: - pipenv run tox -e py27 -- tests/api_resources/abstract/test_updateable_api_resource.py::TestUpdateableAPIResource + poetry run tox -e py27 -- tests/api_resources/abstract/test_updateable_api_resource.py::TestUpdateableAPIResource Run a single test: - pipenv run tox -e py27 -- tests/api_resources/abstract/test_updateable_api_resource.py::TestUpdateableAPIResource::test_save + poetry run tox -e py27 -- tests/api_resources/abstract/test_updateable_api_resource.py::TestUpdateableAPIResource::test_save Run the linter with: @@ -193,7 +193,7 @@ with: [api-keys]: https://dashboard.stripe.com/account/apikeys [black]: https://github.com/ambv/black [connect]: https://stripe.com/connect -[pipenv]: https://github.com/pypa/pipenv +[poetry]: https://github.com/sdispater/poetry [stripe-mock]: https://github.com/stripe/stripe-mock [idempotency-keys]: https://stripe.com/docs/api/idempotent_requests?lang=python diff --git a/pyproject.toml b/pyproject.toml index feaa70b4b..7a253435e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,7 @@ +[build-system] +requires = ["poetry>=0.12"] +build-backend = "poetry.masonry.api" + [tool.black] line-length=79 exclude = ''' @@ -12,3 +16,55 @@ exclude = ''' | stripe/six.py ) ''' + +[tool.poetry] +name = "stripe" +version = "2.29.0" +description = "Python bindings for the Stripe API" + +license = "MIT" + +authors = [ + "Stripe " +] + +readme = 'LONG_DESCRIPTION.rst' + +repository = "https://github.com/stripe/stripe-python" +homepage = "https://github.com/stripe/stripe-python" +documentation = "https://stripe.com/docs/api?lang=python" + +keywords = ['stripe', 'api', 'payments'] + +include = [ + "data/ca-certificates.crt", + "stripe/**/*.py", + "tests/**/*.py", + ".coveragerc", + ".flake8", + "CHANGELOG.md", + "LICENSE", + "LONG_DESCRIPTION.rst", + "README.md", + "VERSION", + "pyproject.toml", + "pytest.ini", + "tox.ini" +] + +[tool.poetry.dependencies] +python = "~2.7 || ^3.4" +requests = [ + { version = "^2.20", python = "~2.7", extras = [ "security" ] }, + { version = "^2.20", python = "^3.4" } +] +toml = "^0.9" + +[tool.poetry.dev-dependencies] +coveralls = "^1.7" +flake8 = "^3.7" +pytest = "^4.4" +pytest-cov = "^2.6" +pytest-mock = "^1.10" +pytest-xdist = "^1.28" +tox = "^3.9" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index ed8a958e0..000000000 --- a/setup.cfg +++ /dev/null @@ -1,5 +0,0 @@ -[bdist_wheel] -universal = 1 - -[metadata] -license_file = LICENSE diff --git a/setup.py b/setup.py deleted file mode 100644 index 50172de54..000000000 --- a/setup.py +++ /dev/null @@ -1,81 +0,0 @@ -import os -import sys -from codecs import open -from setuptools import setup, find_packages -from setuptools.command.test import test as TestCommand - - -class PyTest(TestCommand): - user_options = [("pytest-args=", "a", "Arguments to pass into pytest")] - - def initialize_options(self): - TestCommand.initialize_options(self) - self.pytest_args = "-n auto" - - def run_tests(self): - import shlex - import pytest - - errno = pytest.main(shlex.split(self.pytest_args)) - sys.exit(errno) - - -here = os.path.abspath(os.path.dirname(__file__)) - -os.chdir(here) - -with open(os.path.join(here, "LONG_DESCRIPTION.rst"), encoding="utf-8") as f: - long_description = f.read() - -version_contents = {} -with open(os.path.join(here, "stripe", "version.py"), encoding="utf-8") as f: - exec(f.read(), version_contents) - -setup( - name="stripe", - version=version_contents["VERSION"], - description="Python bindings for the Stripe API", - long_description=long_description, - long_description_content_type="text/x-rst", - author="Stripe", - author_email="support@stripe.com", - url="https://github.com/stripe/stripe-python", - license="MIT", - keywords="stripe api payments", - packages=find_packages(exclude=["tests", "tests.*"]), - package_data={"stripe": ["data/ca-certificates.crt"]}, - zip_safe=False, - install_requires=[ - 'requests >= 2.20; python_version >= "3.0"', - 'requests[security] >= 2.20; python_version < "3.0"', - ], - python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", - tests_require=[ - "pytest >= 3.4", - "pytest-mock >= 1.7", - "pytest-xdist >= 1.22", - "pytest-cov >= 2.5", - ], - cmdclass={"test": PyTest}, - project_urls={ - "Bug Tracker": "https://github.com/stripe/stripe-python/issues", - "Documentation": "https://stripe.com/docs/api/python", - "Source Code": "https://github.com/stripe/stripe-python", - }, - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Software Development :: Libraries :: Python Modules", - ], -) diff --git a/tox.ini b/tox.ini index 01f922e77..21fefa68e 100644 --- a/tox.ini +++ b/tox.ini @@ -12,6 +12,7 @@ envlist = py27, pypy, pypy3, lint +isolated_build = true skip_missing_interpreters = true [testenv]