Skip to content

Commit

Permalink
Replace requirement files with pyproject
Browse files Browse the repository at this point in the history
Commitin
  • Loading branch information
dafeda committed Sep 20, 2023
1 parent 6f20447 commit f6cc44f
Show file tree
Hide file tree
Showing 13 changed files with 133 additions and 107 deletions.
4 changes: 1 addition & 3 deletions .github/workflows/annotate_python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@ jobs:
- name: Install flake8
run: pip install flake8 flake8-bugbear flake8-simplify flake8-debugger flake8-pep3101
- name: install project
run: pip install .
- name: install dev requirements
run: pip install -r dev-requirements.txt
run: pip install ".[dev]"
- name: install typing requirements
run: pip install -r types-requirements.txt
- name: find changed files
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@ jobs:

- name: Install with dependencies
run: |
pip install .
pip install -r dev-requirements.txt
pip install ".[dev]"
- name: Test GUI
if: matrix.test-type == 'gui-tests'
Expand Down
6 changes: 1 addition & 5 deletions .github/workflows/doctest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,7 @@ jobs:
setup.py
pyproject.toml
dev-requirements.txt
- run: pip install -e .

- name: Install with dependencies
run: |
pip install -r dev-requirements.txt
- run: pip install -e ".[dev]"

- name: Test doctest
run: |
Expand Down
5 changes: 1 addition & 4 deletions .github/workflows/test_ert.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,7 @@ jobs:

- name: Install wheel
run: |
find . -name "*.whl" -exec pip install {} \;
- name: Install dependencies
run: pip install -r dev-requirements.txt
find . -name "*.whl" -exec pip install "{}[dev]" \;
- name: Test GUI
if: inputs.test-type == 'gui-test'
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/typing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,12 @@ jobs:
python-version: ${{ matrix.python-version }}
- name: Install ERT and dependencies
run: |
pip install .
pip install ".[dev]"
- name: Install dependencies
# type checking requires protobuf stubs
run: |
python -m pip install --upgrade pip
python -m pip install -r types-requirements.txt
python -m pip install -r dev-requirements.txt
python -m pip install grpcio-tools
python -m grpc_tools.protoc -I src/_ert_com_protocol --mypy_out=src/_ert_com_protocol src/_ert_com_protocol/_schema.proto
- run: echo ::add-matcher::.github/mypy-matcher.json
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ noise in the review process.

You can build the documentation after installation by running
```bash
pip install -r dev-requirements.txt
pip install ".[dev]"
sphinx-build -n -v -E -W ./docs ./tmp/ert_docs
```
and then open the generated `./tmp/ert_docs/index.html` in a browser.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ pip install --editable .
Additional development packages must be installed to run the test suite:

```sh
pip install -r dev-requirements.txt
pip install ".[dev]"
pytest tests/
```

Expand Down
3 changes: 1 addition & 2 deletions ci/jenkins/Jenkinsfile-performance
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@ pipeline {
source env/bin/activate
source /opt/rh/devtoolset-9/enable
pip install --upgrade pip
pip install .
pip install -r dev-requirements.txt
pip install ".[dev]"
"""
}
}
Expand Down
2 changes: 1 addition & 1 deletion ci/testkomodo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ copy_test_files () {
}

install_test_dependencies () {
pip install -r dev-requirements.txt
pip install "ert[dev]"
}

run_ert_with_opm () {
Expand Down
1 change: 1 addition & 0 deletions dev-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ sphinx-copybutton
sphinxcontrib-plantuml
sphinxcontrib.datatemplates
testpath
black
123 changes: 122 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
[build-system]

requires = [
"setuptools<64",
"setuptools_scm[toml]>=6.2",
Expand All @@ -12,7 +11,129 @@ requires = [
"pybind11>=2.10.0", # If this comes out of sync with the version installed by Conan please update the version in CMakeLists
"grpcio-tools",
]
build-backend = "setuptools.build_meta"

[project]
name = "ert"
authors = [
{name = "Equinor ASA", email = "[email protected]"},
]
description = "Ensemble based Reservoir Tool (ERT)"
requires-python = ">=3.8"
readme = "README.md"
license = {text = "GPL-3.0"}
classifiers=[
"Development Status :: 5 - Production/Stable",
"Environment :: Other Environment",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Natural Language :: English",
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Physics",
]
dynamic = ["version"]
dependencies=[
"aiofiles",
"aiohttp",
"alembic",
"ansicolors==1.1.8",
"async-generator",
"beartype > 0.11",
"cloudevents>=1.6.0",
"cloudpickle",
"tqdm>=4.62.0",
"cryptography",
"cwrap",
"dask_jobqueue",
"deprecation",
"dnspython >= 2",
"ecl >= 2.14.1",
"ert-storage >= 0.3.16",
"fastapi < 0.100.0",
"filelock",
"graphlib_backport; python_version < '3.9'",
"iterative_ensemble_smoother>=0.1.1",
"typing_extensions",
"jinja2",
"lark",
"matplotlib",
"numpy<2",
"packaging",
"pandas",
"pluggy>=1.3.0",
"protobuf",
"psutil",
"pydantic >= 1.10.8, < 2",
"PyQt5",
"pyrsistent",
"python-dateutil",
"pyyaml",
"qtpy",
"requests",
"scipy >= 1.10.1",
"sqlalchemy",
"uvicorn >= 0.17.0",
"websockets",
"httpx",
"tables",
"xarray",
"xtgeo >= 3.3.0",
"netCDF4",
"sortedcontainers"
]

[project.scripts]
ert = "ert.__main__:main"
"job_dispatch.py" = "_ert_job_runner.job_dispatch:main"

[project.urls]
Repository = "https://github.com/equinor/ert"

[project.optional-dependencies]
dev = [
"click",
"decorator",
"ecl_data_io",
"furo",
"flaky",
"grpcio-tools",
"hypothesis<=6.83.0; python_version=='3.8'", # ipython pinned to 8.12.2 for python 3.8 support
"hypothesis; python_version>='3.9'",
"jsonpath_ng",
"jupytext",
"oil_reservoir_synthesizer",
"pytest-asyncio",
"pytest-benchmark",
"pytest-cov",
"pytest-memray",
"pytest-mock",
"pytest-mpl",
"pytest-qt",
"pytest-raises",
"pytest-snapshot",
"pytest-timeout",
"pytest-xdist",
"pytest>6",
"requests",
"scikit-build",
"setuptools_scm",
"sortedcontainers",
"sphinx<7.2",
"sphinx-argparse",
"sphinx-autoapi",
"sphinx-copybutton",
"sphinxcontrib-plantuml",
"sphinxcontrib.datatemplates",
"testpath",
]

[tool.setuptools]
platforms = ["all"]

[tool.pytest.ini_options]
addopts = "-ra --strict-markers"
Expand Down
84 changes: 0 additions & 84 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,18 +74,7 @@ def package_files(directory):
return paths


with open("README.md") as f:
long_description = f.read()


args = dict(
name="ert",
author="Equinor ASA",
author_email="[email protected]",
description="Ensemble based Reservoir Tool (ERT)",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/equinor/ert",
packages=find_packages(where="src"),
package_dir={"": "src"},
package_data={
Expand All @@ -96,65 +85,6 @@ def package_files(directory):
"job_queue/qstat_proxy.sh",
],
},
include_package_data=True,
license="GPL-3.0",
platforms="any",
python_requires=">=3.8",
install_requires=[
"aiofiles",
"aiohttp",
"alembic",
"ansicolors==1.1.8",
"async-generator",
"beartype > 0.11",
"cloudevents>=1.6.0",
"cloudpickle",
"tqdm>=4.62.0",
"cryptography",
"cwrap",
"dask_jobqueue",
"deprecation",
"dnspython >= 2",
"ecl >= 2.14.1",
"ert-storage >= 0.3.16",
"fastapi < 0.100.0",
"filelock",
"graphlib_backport; python_version < '3.9'",
"iterative_ensemble_smoother>=0.1.1",
"typing_extensions",
"jinja2",
"lark",
"matplotlib",
"numpy<2",
"packaging",
"pandas",
"pluggy>=1.3.0",
"protobuf",
"psutil",
"pydantic >= 1.10.8, < 2",
"PyQt5",
"pyrsistent",
"python-dateutil",
"pyyaml",
"qtpy",
"requests",
"scipy >= 1.10.1",
"sortedcontainers",
"sqlalchemy",
"uvicorn >= 0.17.0",
"websockets",
"httpx",
"tables",
"xarray",
"xtgeo >= 3.3.0",
"netCDF4",
],
entry_points={
"console_scripts": [
"ert=ert.__main__:main",
"job_dispatch.py = _ert_job_runner.job_dispatch:main",
]
},
cmake_args=[
"-DBUILD_TESTS=OFF",
# we can safely pass OSX_DEPLOYMENT_TARGET as it's ignored on
Expand All @@ -163,20 +93,6 @@ def package_files(directory):
"-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15",
],
cmake_source_dir="src/clib/",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Environment :: Other Environment",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Natural Language :: English",
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Physics",
],
cmdclass={
"egg_info": EggInfo,
"compile_protocol_buffers": CompileProtocolBuffers,
Expand Down
2 changes: 1 addition & 1 deletion src/ert/dark_storage/endpoints/responses.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ async def get_ensemble_response_dataframe(
res: LibresFacade = DEFAULT_LIBRESFACADE,
db: StorageReader = DEFAULT_STORAGE,
ensemble_id: UUID,
response_name: str
response_name: str,
) -> Response:
dataframe = data_for_key(res, db.get_ensemble(ensemble_id), response_name)
return Response(
Expand Down

0 comments on commit f6cc44f

Please sign in to comment.