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

Simplify packaging configuration #267

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jkassemi
Copy link

@jkassemi jkassemi commented May 3, 2024

We should be able to use setuptools' default package discovery mechanism without modification, since it supports both LICENSE and README.rst inclusion without the need for a separate MANIFEST.in.

This addresses a bug I encountered caused by a separate tests package being installed by pip as part of flanker's installation.

Here's a fresh python install, with just pip in the site-packages:

james@Jamess-MBP-2 tmp-flanker % pyenv virtualenv tmp-flanker-fix
Looking in links: /var/folders/4h/2nsnlv397t92cv1fg6h1y2k40000gn/T/tmpppand0ob
Requirement already satisfied: pip in /Users/james/.pyenv/versions/tmp-flanker-fix/lib/python3.12/site-packages (24.0)
james@Jamess-MBP-2 tmp-flanker % pyenv local tmp-flanker-fix
(tmp-flanker-fix) james@Jamess-MBP-2 tmp-flanker % python -c "import site; print(site.getsitepackages())"
['/Users/james/.pyenv/versions/tmp-flanker-fix/lib/python3.12/site-packages']
(tmp-flanker-fix) james@Jamess-MBP-2 tmp-flanker % ls /Users/james/.pyenv/versions/tmp-flanker-fix/lib/python3.12/site-packages
pip			pip-24.0.dist-info

After installing flanker, notice the tests directory in site-packages:

(tmp-flanker-fix) james@Jamess-MBP-2 tmp-flanker % pip install flanker
...
Successfully installed WebOb-1.8.7 attrs-23.2.0 cffi-1.16.0 chardet-5.2.0 cryptography-42.0.5 flanker-0.9.11 idna-3.7 ply-3.11 pycparser-2.22 regex-2024.4.28 six-1.16.0 tld-0.13
(tmp-flanker-fix) james@Jamess-MBP-2 tmp-flanker % ls /Users/james/.pyenv/versions/tmp-flanker-fix/lib/python3.12/site-packages
WebOb-1.8.7.dist-info			attrs-23.2.0.dist-info			cryptography				idna-3.7.dist-info			pycparser				six.py
__pycache__				cffi					cryptography-42.0.5.dist-info		pip					pycparser-2.22.dist-info		**tests**
_cffi_backend.cpython-312-darwin.so	cffi-1.16.0.dist-info			flanker					pip-24.0.dist-info			regex					tld
attr					chardet					flanker-0.9.11.dist-info		ply					regex-2024.4.28.dist-info		tld-0.13.dist-info
attrs					chardet-5.2.0.dist-info			idna					ply-3.11.dist-info			six-1.16.0.dist-info			webob

And confirming the test directory is indeed coming from flanker:

(tmp-flanker-fix) james@Jamess-MBP-2 tmp-flanker % pip show -f flanker
Name: flanker
Version: 0.9.11
Summary: Mailgun Parsing Tools
Home-page: https://www.mailgun.com/
Author: Mailgun Technologies Inc.
Author-email: [email protected]
License: Apache 2
Location: /Users/james/.pyenv/versions/tmp-flanker-fix/lib/python3.12/site-packages
Requires: attrs, chardet, cryptography, idna, ply, regex, six, tld, WebOb
Required-by:
Files:
  flanker-0.9.11.dist-info/INSTALLER
  flanker-0.9.11.dist-info/LICENSE
  flanker-0.9.11.dist-info/METADATA
  flanker-0.9.11.dist-info/RECORD
  flanker-0.9.11.dist-info/REQUESTED
  flanker-0.9.11.dist-info/WHEEL
  flanker-0.9.11.dist-info/top_level.txt
  flanker-0.9.11.dist-info/zip-safe
  flanker/__init__.py
  ...
  flanker/mime/message/threading.py
  flanker/mime/message/utils.py
  flanker/utils.py
  tests/addresslib/__init__.py
  tests/addresslib/__pycache__/__init__.cpython-312.pyc
  tests/addresslib/__pycache__/address_test.cpython-312.pyc
  ...
  tests/mime/message/part_test.py
  tests/mime/message/scanner_test.py
  tests/mime/message/threading_test.py
  tests/mime/message/tokenizer_test.py
(tmp-flanker-fix) james@Jamess-MBP-2 tmp-flanker %

Use setuptools default package discovery which supports both the LICENSE
and README without the need for a separate MANIFEST.in.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant