Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Streamline dev dependency management #1185

Merged
merged 7 commits into from
Aug 26, 2024
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 5 additions & 11 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,6 @@ jobs:
- 3.11
- 3.12
- 3.13
include:
- aiohttp-version: ==3.9.2
- aiohttp-version: <4.0.0
python-version: 3.11
fail-fast: false
timeout-minutes: 5

Expand All @@ -66,19 +62,17 @@ jobs:
uses: actions/checkout@v4
with:
submodules: true
- name: Setup Python ${{ matrix.pyver }}
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Lock and sync dependencies
env:
AIOHTTP_VERSION: ${{ matrix.aiohttp-version }}
run: |
python -V -V
python -m pip install -U pip codecov pip-tools
time pip-compile requirements-dev.in
time pip-sync requirements-dev.txt
python -m pip install -U pip pip-tools
pip-compile --all-extras pyproject.toml requirements-dev.in
pip-sync
pip install -e ".[awscli,boto3]"
- name: Run pre-commit hooks
run: |
make pre-commit
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# generated by users and intentionally not pushed to the repo
jakob-keller marked this conversation as resolved.
Show resolved Hide resolved
requirements-dev.txt
requirements.txt

# Byte-compiled / optimized / DLL files
__pycache__/
Expand Down
5 changes: 3 additions & 2 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@ For example, using ``virtualenvwrapper`` commands could look like::
After that, please install libraries required for development::

$ pip install pip-tools
$ pip-compile requirements-dev.in
$ pip-sync requirements-dev.txt
$ pip-compile --all-extras pyproject.toml requirements-dev.in
$ pip-sync
$ pip install -e ".[awscli,boto3]"

Congratulations, you are ready to run the test suite::

Expand Down
5 changes: 3 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,9 @@ secret accessible via environment variables:
::

$ pip install pip-tools
$ pip-compile requirements-dev.in
$ pip-sync requirements-dev.txt
$ pip-compile --all-extras pyproject.toml
$ pip-sync
$ pip install -e ".[awscli,boto3]"
$ export AWS_ACCESS_KEY_ID=xxx
$ export AWS_SECRET_ACCESS_KEY=xxx
$ export AWS_DEFAULT_REGION=xxx # e.g. us-west-2
Expand Down
30 changes: 18 additions & 12 deletions requirements-dev.in
Original file line number Diff line number Diff line change
@@ -1,19 +1,25 @@
codecov~=2.1.13
### relevant botocore dev dependencies (from https://github.com/boto/botocore/blob/develop/requirements-dev.txt)

# wheel==0.43.0
# behave==1.2.5
# jsonschema==4.21.1
coverage==7.2.7
docker~=7.1
moto[server,s3,sqs,awslambda,dynamodb,cloudformation,sns,batch,ec2,rds]~=4.2.9
pre-commit~=3.5.0
# setuptools==71.1.0;python_version>="3.12"
# packaging==24.1;python_version>="3.12" # Requirement for setuptools>=71

# Pytest specific deps
pytest==8.1.1
pytest-cov==5.0.0
pytest-asyncio~=0.23.8
pytest-xdist==3.5.0
# atomicwrites>=1.0 # Windows requirement
# colorama>0.3.0 # Windows requirement

# this is needed for test_patches
dill~=0.3.3

# this is needed for test_version
tomli; python_version < "3.11"
### aiobotocore dev dependencies

aiohttp${AIOHTTP_VERSION}

-e .[awscli,boto3]
dill~=0.3.3 # Requirement for tests/test_patches.py
docker~=7.1
moto[server,s3,sqs,awslambda,dynamodb,cloudformation,sns,batch,ec2,rds]~=4.2.9
pre-commit~=3.5.0
pytest-asyncio~=0.23.8
tomli; python_version < "3.11" # Requirement for tests/test_version.py