diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aa71e45..28b53a7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,6 @@ jobs: - uses: actions-rs/toolchain@v1 with: toolchain: stable - - run: pip install pipenv - - run: pipenv install --dev - - run: pipenv run maturin develop - - run: pipenv run pytest -v tests + - uses: Swatinem/rust-cache@v1 + - run: python3 -m pip install nox + - run: nox -s test-${{ matrix.python-version }} diff --git a/Cargo.toml b/Cargo.toml index 7f6ae1f..330d748 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,3 @@ futures = "0.3.5" [dependencies.pyo3] version = "0.15.1" features = ["extension-module"] - -[package.metadata.maturin] -requires-python = ">=3.7" -project-url = { Source = "https://github.com/quickwit-inc/tantivy-py" } diff --git a/Pipfile b/Pipfile deleted file mode 100644 index fb9a298..0000000 --- a/Pipfile +++ /dev/null @@ -1,12 +0,0 @@ -[[source]] -name = "pypi" -url = "https://pypi.org/simple" -verify_ssl = true - -[dev-packages] -maturin = ">=0.12.0" -pytest = ">=4.0" -e1839a8 = {path = "."} - -[packages] -e1839a8 = {path = "."} diff --git a/Pipfile.lock b/Pipfile.lock deleted file mode 100644 index acf08ef..0000000 --- a/Pipfile.lock +++ /dev/null @@ -1,109 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "41c202984a446d0a86a392ae69f2ffb01299874a6ef817a8353daddc8bb80175" - }, - "pipfile-spec": 6, - "requires": {}, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "e1839a8": { - "path": "." - } - }, - "develop": { - "attrs": { - "hashes": [ - "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c", - "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72" - ], - "version": "==19.3.0" - }, - "e1839a8": { - "path": "." - }, - "maturin": { - "hashes": [ - "sha256:2533c648aa8fa19f7a9d4f62282b4adce2f9c07c49f512005f92911be767555e", - "sha256:4fd7fcf4e40e984274dc9caf80c08fa16a6c7c1f4ca1f694ba2ac3802b7340aa", - "sha256:5e6390245a023cbdca39d9276035fdee4d892b44d3ab798ccf2c3443d87e3f98", - "sha256:7f7f04de2acf379b1ff8993747f11bfb60760c69caf8c43414212cf7cc4b07ef", - "sha256:87a3d9a94f9c3b8d3ecc57017cdae2b3f1e0f6bfc851509f0b53c2486f312dcc", - "sha256:aa474d70630833349dac090306fd51a8af2df88080cea74ea4d831b40616ea41" - ], - "index": "pypi", - "version": "==0.7.7" - }, - "more-itertools": { - "hashes": [ - "sha256:b84b238cce0d9adad5ed87e745778d20a3f8487d0f0cb8b8a586816c7496458d", - "sha256:c833ef592a0324bcc6a60e48440da07645063c453880c9477ceb22490aec1564" - ], - "version": "==8.0.2" - }, - "packaging": { - "hashes": [ - "sha256:aec3fdbb8bc9e4bb65f0634b9f551ced63983a529d6a8931817d52fdd0816ddb", - "sha256:fe1d8331dfa7cc0a883b49d75fc76380b2ab2734b220fbb87d774e4fd4b851f8" - ], - "version": "==20.0" - }, - "pluggy": { - "hashes": [ - "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0", - "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d" - ], - "version": "==0.13.1" - }, - "py": { - "hashes": [ - "sha256:5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa", - "sha256:c20fdd83a5dbc0af9efd622bee9a5564e278f6380fffcacc43ba6f43db2813b0" - ], - "version": "==1.8.1" - }, - "pyparsing": { - "hashes": [ - "sha256:4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f", - "sha256:c342dccb5250c08d45fd6f8b4a559613ca603b57498511740e65cd11a2e7dcec" - ], - "version": "==2.4.6" - }, - "pytest": { - "hashes": [ - "sha256:6b571215b5a790f9b41f19f3531c53a45cf6bb8ef2988bc1ff9afb38270b25fa", - "sha256:e41d489ff43948babd0fad7ad5e49b8735d5d55e26628a58673c39ff61d95de4" - ], - "index": "pypi", - "version": "==5.3.2" - }, - "six": { - "hashes": [ - "sha256:1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd", - "sha256:30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66" - ], - "version": "==1.13.0" - }, - "toml": { - "hashes": [ - "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", - "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e" - ], - "version": "==0.10.0" - }, - "wcwidth": { - "hashes": [ - "sha256:8fd29383f539be45b20bd4df0dc29c20ba48654a41e661925e612311e9f3c603", - "sha256:f28b3e8a6483e5d49e7f8949ac1a78314e740333ae305b4ba5defd3e74fb37a8" - ], - "version": "==0.1.8" - } - } -} diff --git a/README.md b/README.md index ce5b0e3..3fe7619 100644 --- a/README.md +++ b/README.md @@ -23,16 +23,12 @@ only supports python3. # Development Setting up a development environment can be done in a virtual environment using -`pipenv` or using local packages using the provided `Makefile`. +[`nox`](https://nox.thea.codes) or using local packages using the provided `Makefile`. -For the `pipenv` setup install the virtual environment and build the bindings using: +For the `nox` setup install the virtual environment and build the bindings using: - pipenv install --dev - pipenv run maturin develop - -After the bindings are build, the tests can be run using: - - pipenv run python -m pytest + python3 -m pip install nox + nox For the `Makefile` based setup run: diff --git a/noxfile.py b/noxfile.py new file mode 100644 index 0000000..6e832df --- /dev/null +++ b/noxfile.py @@ -0,0 +1,8 @@ +import nox + + +@nox.session(python=["3.7", "3.8", "3.9", "3.10"]) +def test(session): + session.install("-rrequirements-dev.txt") + session.install("-e", ".", "--no-build-isolation") + session.run("pytest") diff --git a/pyproject.toml b/pyproject.toml index 90cb176..b97966d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,7 @@ [build-system] requires = ["maturin"] build-backend = "maturin" + +[project] +name = "tantivy" +requires-python = ">=3.7" diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 0000000..20faf86 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,2 @@ +maturin +pytest>=4.0 diff --git a/tox.ini b/tox.ini deleted file mode 100644 index 4439063..0000000 --- a/tox.ini +++ /dev/null @@ -1,12 +0,0 @@ -[tox] -envlist = py36, py37 -requires = tox-pyo3 - -[testenv] -pyo3 = True -deps = - pytest -commands = - pytest -vvvv - -skip_install = True