Skip to content

Commit

Permalink
Add optional dependencies into extras (#474)
Browse files Browse the repository at this point in the history
* Move dependencies into extras
  - platforms: Dependencies for platforms and archs instances
  - formats: Dependencies for files and archive instances
  - all : All dependencies
* Update README.txt with info about the extras dependency groups
* Update python classifiers
* Update manifest
* dev_requirements is not needed
* Update test.yml
  • Loading branch information
itziakos authored Aug 22, 2024
1 parent 89d57a7 commit 529c434
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 19 deletions.
10 changes: 7 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,14 @@ jobs:
- name: Install okonomiyaki
run: python -m pip install -e .
- name: Install test dependencies
run: python -m pip install -r "dev_requirements.txt"
- name: Test with haas
run: python -m pip install -e .[test] coverage
- name: Test without dependencies
run: |
coverage run -p -m haas okonomiyaki
coverage run -p -m haas okonomiyaki.versions
- name: Test with all dependencies
run: |
python -m pip install -e .[all]
coverage run -p -m haas okonomiyaki
- name: Upload Coverage info
uses: actions/upload-artifact@v4
with:
Expand Down
1 change: 0 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
include okonomiyaki/utils/test_data/*
include okonomiyaki/repositories/test/data/*
include LICENSE.txt
include CHANGELOG
include README
11 changes: 10 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,18 @@ The library contains code for the following:
* object models for eggs metadata, as well as versions and platform
representations

It works on both python 2 and 3, and pypy. It is expected to work on pretty
It works on Python >= 3.6, It is expected to work on pretty
much any compliant python implementation.

Note
----

* Version instances are available without extra dependencies so use ``pip install okonomiyaki``
* Platform instances are available by installing ``pip install okonomiyaki[platforms]``
* Egg metadata and archive tools are available by installing ``pip install okonomiyaki[formats]``
* The full set of functionality, please use ``pip install okonomiyaki[all]``


Examples
========

Expand Down
7 changes: 0 additions & 7 deletions dev_requirements.txt

This file was deleted.

21 changes: 14 additions & 7 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ classifier =
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11

[bdist_wheel]
Expand All @@ -38,12 +40,6 @@ packages =
okonomiyaki.utils.test_data
okonomiyaki.utils.tests
python_requires = >=3.6
install_requires =
attrs >= 16.1.0
jsonschema >= 2.5.1
zipfile2 >= 0.0.12
distro; sys_platform=="linux2"
distro; sys_platform=="linux"

[options.package_data]
okonomiyaki.repositories.tests =
Expand Down Expand Up @@ -75,10 +71,21 @@ okonomiyaki.utils.test_data =
[options.extras_require]
test =
haas
distro
parameterized
testfixtures
distro
packaging >= 20.0
platforms =
attrs >= 16.1.0
distro; sys_platform=="linux2"
distro; sys_platform=="linux"
formats =
zipfile2 >= 0.0.12
jsonschema >= 2.5.1
%(platforms)s
all =
%(platforms)s
%(formats)s

[flake8]
ignore = W503
Expand Down

0 comments on commit 529c434

Please sign in to comment.