Skip to content
New issue

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

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

Already on GitHub? # to your account

fix packages= so top_level.txt is correct #786

Merged
merged 1 commit into from
Aug 16, 2022
Merged

fix packages= so top_level.txt is correct #786

merged 1 commit into from
Aug 16, 2022

Conversation

asottile-sentry
Copy link
Contributor

packages is meant to be a list of dotted.names but the current code puts directory/names into that setting. this causes setuptools to produce an incorrect top_level.txt:

$ pip wheel . --no-deps >& /dev/null
$ unzip -p  *.whl '*/top_level.txt'
drf_spectacular
drf_spectacular/contrib
drf_spectacular/management
drf_spectacular/management/commands
drf_spectacular/validation

after using the builtin setuptools mechanism for this, top_level.txt is correct:

$ pip wheel . --no-deps >& /dev/null
$ unzip -p  *.whl '*/top_level.txt'
drf_spectacular

@codecov
Copy link

codecov bot commented Aug 16, 2022

Codecov Report

Merging #786 (97b8fac) into master (f0c470b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #786   +/-   ##
=======================================
  Coverage   98.77%   98.77%           
=======================================
  Files          67       67           
  Lines        7565     7565           
=======================================
  Hits         7472     7472           
  Misses         93       93           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@tfranzel
Copy link
Owner

So when I put the package together I had only a rudimentary understanding of setuptools. I took inspiration from DRF there. That snipped came from DRF/yasg, but I don't know how I ended up using this after it got patched out over a year prior ( encode/django-rest-framework@abef84f ).

How did this negatively impact you, since there have been no issues raised until now?

@asottile-sentry
Copy link
Contributor Author

So when I put the package together I had only a rudimentary understanding of setuptools. I took inspiration from DRF there. That snipped came from DRF/yasg, but I don't know how I ended up using this after it got patched out over a year prior ( encode/django-rest-framework@abef84f ).

How did this negatively impact you, since there have been no issues raised until now?

I'm doing some rudimentary validation of packages by importing the namespaces defined in top_level.txt -- for this library it produced output like:

$ python3 -c '__import__("drf_spectacular/contrib")'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'drf_spectacular/contrib'

@tfranzel
Copy link
Owner

I see. thanks for clarifying. I guess if this works for DRF, it should work for us too. thanks @asottile-sentry

@tfranzel tfranzel merged commit ee2372a into tfranzel:master Aug 16, 2022
@asottile-sentry asottile-sentry deleted the fix-packages branch August 17, 2022 18:26
@tfranzel
Copy link
Owner

so now for no apparent reason, setuptools includes more files (.github, .gitignore, codecov.yml, etc.) into the source build. The dist build look good. DRF has the exact same setup wrt your change (and the surrounding flags), but their source build does not include the clutter. why is dealing with setuptools always a pain?!

do you have an idea where this different behavior is coming from?

@asottile-sentry
Copy link
Contributor Author

which package? what command is being run? (fwiw this package doesn't experience that for me):

$ python -m build --sdist > /dev/null
$ tar --list -f dist/drf-spectacular-0.24.0.tar.gz  | grep gitig
$

@tfranzel
Copy link
Owner

Sry, false alarm. For some reason, those files are packaged on my dev machine. However, in the github action, from where we publish, they are not included. The command is

python setup.py sdist bdist_wheel
tar --list -f dist/drf-spectacular-0.24.0.tar.gz

with python==3.10.4 and setuptools==65.3.0. Locally I observe more files added to the sdist. Not exactly sure why where the difference is. In theory, this should be identical.

@asottile-sentry
Copy link
Contributor Author

can you run this command?

diff -ur <(tar --list -f dist/drf-spectacular-0.24.0.tar.gz) <(curl --silent --location https://files.pythonhosted.org/packages/b9/16/38c215e9677f8439a0d0e4acc33398916b3c4aff8bac806963a3ce83abf1/drf-spectacular-0.24.0.tar.gz | tar --list -zf -)

just curious what the exact difference is between the two which might give a hint -- also perhaps the path of the working directory might be useful too

@tfranzel
Copy link
Owner

tfranzel commented Sep 14, 2022

sure thing. it is like I said earlier, some regular files and some "special" files. all those files should be checked out in the GH action working dir.

I usually don't check on this. I only did it this time because we changed something. Turns out this has nothing to do without your specific change. I just compared a locally build 0.23.1 (prev version), which has the same files added to it, while GH/pypi version doesn't.

So nothing has changed, and this is all fine. You don't need to waste more time on this, though I am still curious.

(venv) ➜  drf-spectacular git:(master) ✗ diff -ur <(tar --list -f dist/drf-spectacular-0.24.0.tar.gz) <(curl --silent --location https://files.pythonhosted.org/packages/b9/16/38c215e9677f8439a0d0e4acc33398916b3c4aff8bac806963a3ce83abf1/drf-spectacular-0.24.0.tar.gz | tar --list -zf -)
--- /proc/self/fd/11    2022-09-14 16:49:28.742882388 +0200
+++ /proc/self/fd/18    2022-09-14 16:49:28.742882388 +0200
@@ -1,18 +1,10 @@
 drf-spectacular-0.24.0/
-drf-spectacular-0.24.0/.github/
-drf-spectacular-0.24.0/.github/ISSUE_TEMPLATE/
-drf-spectacular-0.24.0/.github/ISSUE_TEMPLATE/bug_report.md
-drf-spectacular-0.24.0/.github/workflows/
-drf-spectacular-0.24.0/.github/workflows/ci.yml
-drf-spectacular-0.24.0/.github/workflows/publish.yml
-drf-spectacular-0.24.0/.gitignore
 drf-spectacular-0.24.0/CHANGELOG.rst
 drf-spectacular-0.24.0/CONTRIBUTING.rst
 drf-spectacular-0.24.0/LICENSE
 drf-spectacular-0.24.0/MANIFEST.in
 drf-spectacular-0.24.0/PKG-INFO
 drf-spectacular-0.24.0/README.rst
-drf-spectacular-0.24.0/codecov.yml
 drf-spectacular-0.24.0/docs/
 drf-spectacular-0.24.0/docs/Makefile
 drf-spectacular-0.24.0/docs/blueprints/
@@ -90,18 +82,12 @@
 drf-spectacular-0.24.0/drf_spectacular.egg-info/dependency_links.txt
 drf-spectacular-0.24.0/drf_spectacular.egg-info/requires.txt
 drf-spectacular-0.24.0/drf_spectacular.egg-info/top_level.txt
-drf-spectacular-0.24.0/helper/
-drf-spectacular-0.24.0/helper/changelog.sh
-drf-spectacular-0.24.0/helper/generate-client.sh
-drf-spectacular-0.24.0/helper/github-ci-vars.py
-drf-spectacular-0.24.0/helper/swagger-ui.sh
 drf-spectacular-0.24.0/requirements/
 drf-spectacular-0.24.0/requirements/base.txt
 drf-spectacular-0.24.0/requirements/docs.txt
 drf-spectacular-0.24.0/requirements/optionals.txt
 drf-spectacular-0.24.0/requirements/packaging.txt
 drf-spectacular-0.24.0/requirements/testing.txt
-drf-spectacular-0.24.0/requirements.txt
 drf-spectacular-0.24.0/runtests.py
 drf-spectacular-0.24.0/setup.cfg
 drf-spectacular-0.24.0/setup.py
@@ -185,4 +171,3 @@
 drf-spectacular-0.24.0/tests/test_view.py
 drf-spectacular-0.24.0/tests/test_warnings.py
 drf-spectacular-0.24.0/tests/urls.py
-drf-spectacular-0.24.0/tox.ini

@asottile-sentry
Copy link
Contributor Author

did you happen to accidentally have setuptools-scm installed (or some other setuptools plugin?) pip freeze --all might have some hints

@tfranzel
Copy link
Owner

nope

pip freeze --all | grep setup
setuptools==65.3.0

@asottile-sentry
Copy link
Contributor Author

what else all is in pip freeze --all ? maybe it's some tool similar to setuptools-scm

@tfranzel
Copy link
Owner

I created a fresh venv only installing requirements/packaging.txt, which is basically the only thing the action does prior to the setup call. same outcome.

lets put this one aside for now. I just looked into the console dump of the GH action for clues and found an actual problem related to the change 😄 . I checked that this was not occurring in the console dump of the last release.

Run python setup.py publish
twine==4.0.1
running sdist
running egg_info
creating drf_spectacular.egg-info
writing drf_spectacular.egg-info/PKG-INFO
writing dependency_links to drf_spectacular.egg-info/dependency_links.txt
writing requirements to drf_spectacular.egg-info/requires.txt
writing top-level names to drf_spectacular.egg-info/top_level.txt
writing manifest file 'drf_spectacular.egg-info/SOURCES.txt'
reading manifest file 'drf_spectacular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*_out.yml' found under directory 'tests'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files matching '__pycache__' found anywhere in distribution
warning: no previously-included files matching '*.py[co]' found anywhere in distribution
adding license file 'LICENSE'
writing manifest file 'drf_spectacular.egg-info/SOURCES.txt'
running check
creating drf-spectacular-0.24.0
creating drf-spectacular-0.24.0/docs
creating drf-spectacular-0.24.0/docs/blueprints
creating drf-spectacular-0.24.0/drf_spectacular
creating drf-spectacular-0.24.0/drf_spectacular.egg-info
creating drf-spectacular-0.24.0/drf_spectacular/contrib
creating drf-spectacular-0.24.0/drf_spectacular/management
creating drf-spectacular-0.24.0/drf_spectacular/management/commands
creating drf-spectacular-0.24.0/drf_spectacular/templates
creating drf-spectacular-0.24.0/drf_spectacular/templates/drf_spectacular
creating drf-spectacular-0.24.0/drf_spectacular/validation
creating drf-spectacular-0.24.0/requirements
creating drf-spectacular-0.24.0/tests
creating drf-spectacular-0.24.0/tests/contrib
creating drf-spectacular-0.24.0/tests/locale
creating drf-spectacular-0.24.0/tests/locale/de
creating drf-spectacular-0.24.0/tests/locale/de/LC_MESSAGES
copying files to drf-spectacular-0.24.0...
copying CHANGELOG.rst -> drf-spectacular-0.24.0
copying CONTRIBUTING.rst -> drf-spectacular-0.24.0
copying LICENSE -> drf-spectacular-0.24.0
copying MANIFEST.in -> drf-spectacular-0.24.0
copying README.rst -> drf-spectacular-0.24.0
copying runtests.py -> drf-spectacular-0.24.0
copying setup.py -> drf-spectacular-0.24.0
copying docs/Makefile -> drf-spectacular-0.24.0/docs
copying docs/blueprints.rst -> drf-spectacular-0.24.0/docs
copying docs/changelog.rst -> drf-spectacular-0.24.0/docs
copying docs/client_generation.rst -> drf-spectacular-0.24.0/docs
copying docs/conf.py -> drf-spectacular-0.24.0/docs
copying docs/contributing.rst -> drf-spectacular-0.24.0/docs
copying docs/customization.rst -> drf-spectacular-0.24.0/docs
copying docs/drf_spectacular.rst -> drf-spectacular-0.24.0/docs
copying docs/drf_yasg.rst -> drf-spectacular-0.24.0/docs
copying docs/extensions.py -> drf-spectacular-0.24.0/docs
copying docs/faq.rst -> drf-spectacular-0.24.0/docs
copying docs/index.rst -> drf-spectacular-0.24.0/docs
copying docs/license.rst -> drf-spectacular-0.24.0/docs
copying docs/make.bat -> drf-spectacular-0.24.0/docs
copying docs/readme.rst -> drf-spectacular-0.24.0/docs
copying docs/settings.rst -> drf-spectacular-0.24.0/docs
copying docs/blueprints/django_auth_adfs.py -> drf-spectacular-0.24.0/docs/blueprints
copying docs/blueprints/djstripe.py -> drf-spectacular-0.24.0/docs/blueprints
copying docs/blueprints/drf_extra_fields.py -> drf-spectacular-0.24.0/docs/blueprints
copying docs/blueprints/drf_rw_serializers.py -> drf-spectacular-0.24.0/docs/blueprints
copying docs/blueprints/oscarapi.py -> drf-spectacular-0.24.0/docs/blueprints
copying docs/blueprints/rapidoc.html -> drf-spectacular-0.24.0/docs/blueprints
copying docs/blueprints/rapidoc.py -> drf-spectacular-0.24.0/docs/blueprints
copying docs/blueprints/rollup.py -> drf-spectacular-0.24.0/docs/blueprints
copying drf_spectacular/__init__.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/apps.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/authentication.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/checks.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/drainage.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/extensions.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/generators.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/helpers.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/hooks.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/openapi.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/plumbing.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/py.typed -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/renderers.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/serializers.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/settings.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/types.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/utils.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular/views.py -> drf-spectacular-0.24.0/drf_spectacular
copying drf_spectacular.egg-info/PKG-INFO -> drf-spectacular-0.24.0/drf_spectacular.egg-info
copying drf_spectacular.egg-info/SOURCES.txt -> drf-spectacular-0.24.0/drf_spectacular.egg-info
copying drf_spectacular.egg-info/dependency_links.txt -> drf-spectacular-0.24.0/drf_spectacular.egg-info
copying drf_spectacular.egg-info/requires.txt -> drf-spectacular-0.24.0/drf_spectacular.egg-info
copying drf_spectacular.egg-info/top_level.txt -> drf-spectacular-0.24.0/drf_spectacular.egg-info
copying drf_spectacular/contrib/__init__.py -> drf-spectacular-0.24.0/drf_spectacular/contrib
copying drf_spectacular/contrib/django_filters.py -> drf-spectacular-0.24.0/drf_spectacular/contrib
copying drf_spectacular/contrib/django_oauth_toolkit.py -> drf-spectacular-0.24.0/drf_spectacular/contrib
copying drf_spectacular/contrib/djangorestframework_camel_case.py -> drf-spectacular-0.24.0/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_auth.py -> drf-spectacular-0.24.0/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_framework.py -> drf-spectacular-0.24.0/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_framework_dataclasses.py -> drf-spectacular-0.24.0/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_framework_gis.py -> drf-spectacular-0.24.0/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_framework_jwt.py -> drf-spectacular-0.24.0/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_framework_recursive.py -> drf-spectacular-0.24.0/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_framework_simplejwt.py -> drf-spectacular-0.24.0/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_polymorphic.py -> drf-spectacular-0.24.0/drf_spectacular/contrib
copying drf_spectacular/management/__init__.py -> drf-spectacular-0.24.0/drf_spectacular/management
copying drf_spectacular/management/commands/__init__.py -> drf-spectacular-0.24.0/drf_spectacular/management/commands
copying drf_spectacular/management/commands/spectacular.py -> drf-spectacular-0.24.0/drf_spectacular/management/commands
copying drf_spectacular/templates/drf_spectacular/redoc.html -> drf-spectacular-0.24.0/drf_spectacular/templates/drf_spectacular
copying drf_spectacular/templates/drf_spectacular/swagger_ui.html -> drf-spectacular-0.24.0/drf_spectacular/templates/drf_spectacular
copying drf_spectacular/templates/drf_spectacular/swagger_ui.js -> drf-spectacular-0.24.0/drf_spectacular/templates/drf_spectacular
copying drf_spectacular/validation/__init__.py -> drf-spectacular-0.24.0/drf_spectacular/validation
copying drf_spectacular/validation/openapi3_schema.json -> drf-spectacular-0.24.0/drf_spectacular/validation
copying requirements/base.txt -> drf-spectacular-0.24.0/requirements
copying requirements/docs.txt -> drf-spectacular-0.24.0/requirements
copying requirements/optionals.txt -> drf-spectacular-0.24.0/requirements
copying requirements/packaging.txt -> drf-spectacular-0.24.0/requirements
copying requirements/testing.txt -> drf-spectacular-0.24.0/requirements
copying tests/__init__.py -> drf-spectacular-0.24.0/tests
copying tests/conftest.py -> drf-spectacular-0.24.0/tests
copying tests/models.py -> drf-spectacular-0.24.0/tests
copying tests/settings.py -> drf-spectacular-0.24.0/tests
copying tests/test_basic.py -> drf-spectacular-0.24.0/tests
copying tests/test_basic.yml -> drf-spectacular-0.24.0/tests
copying tests/test_callbacks.py -> drf-spectacular-0.24.0/tests
copying tests/test_callbacks.yml -> drf-spectacular-0.24.0/tests
copying tests/test_callbacks_split_request.yml -> drf-spectacular-0.24.0/tests
copying tests/test_command.py -> drf-spectacular-0.24.0/tests
copying tests/test_custom_settings.py -> drf-spectacular-0.24.0/tests
copying tests/test_examples.py -> drf-spectacular-0.24.0/tests
copying tests/test_examples.yml -> drf-spectacular-0.24.0/tests
copying tests/test_extend_schema.py -> drf-spectacular-0.24.0/tests
copying tests/test_extend_schema.yml -> drf-spectacular-0.24.0/tests
copying tests/test_extend_schema_view.py -> drf-spectacular-0.24.0/tests
copying tests/test_extend_schema_view.yml -> drf-spectacular-0.24.0/tests
copying tests/test_extensions.py -> drf-spectacular-0.24.0/tests
copying tests/test_fields.py -> drf-spectacular-0.24.0/tests
copying tests/test_fields.yml -> drf-spectacular-0.24.0/tests
copying tests/test_fields_response.json -> drf-spectacular-0.24.0/tests
copying tests/test_generator_stats.py -> drf-spectacular-0.24.0/tests
copying tests/test_i18n.py -> drf-spectacular-0.24.0/tests
copying tests/test_i18n.yml -> drf-spectacular-0.24.0/tests
copying tests/test_meta.py -> drf-spectacular-0.24.0/tests
copying tests/test_mock_request.py -> drf-spectacular-0.24.0/tests
copying tests/test_plumbing.py -> drf-spectacular-0.24.0/tests
copying tests/test_polymorphic.py -> drf-spectacular-0.24.0/tests
copying tests/test_polymorphic.yml -> drf-spectacular-0.24.0/tests
copying tests/test_postprocessing.py -> drf-spectacular-0.24.0/tests
copying tests/test_postprocessing.yml -> drf-spectacular-0.24.0/tests
copying tests/test_recursion.py -> drf-spectacular-0.24.0/tests
copying tests/test_recursion.yml -> drf-spectacular-0.24.0/tests
copying tests/test_regressions.py -> drf-spectacular-0.24.0/tests
copying tests/test_specification_extensions.py -> drf-spectacular-0.24.0/tests
copying tests/test_split.py -> drf-spectacular-0.24.0/tests
copying tests/test_split_request_false.yml -> drf-spectacular-0.24.0/tests
copying tests/test_split_request_true.yml -> drf-spectacular-0.24.0/tests
copying tests/test_validators.py -> drf-spectacular-0.24.0/tests
copying tests/test_validators.yml -> drf-spectacular-0.24.0/tests
copying tests/test_versioning.py -> drf-spectacular-0.24.0/tests
copying tests/test_versioning_accept_v1.yml -> drf-spectacular-0.24.0/tests
copying tests/test_versioning_accept_v2.yml -> drf-spectacular-0.24.0/tests
copying tests/test_versioning_v1.yml -> drf-spectacular-0.24.0/tests
copying tests/test_versioning_v2.yml -> drf-spectacular-0.24.0/tests
copying tests/test_view.py -> drf-spectacular-0.24.0/tests
copying tests/test_warnings.py -> drf-spectacular-0.24.0/tests
copying tests/urls.py -> drf-spectacular-0.24.0/tests
copying tests/contrib/__init__.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_django_filters.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_django_filters.yml -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_djangorestframework_camel_case.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_djangorestframework_camel_case.yml -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_drf_jwt.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_drf_jwt.yml -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_drf_nested_routers.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_drf_nested_routers.yml -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_drf_spectacular_sidecar.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_oauth_toolkit.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_oauth_toolkit.yml -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_rest_auth.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_rest_auth.yml -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_rest_auth_token.yml -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_rest_framework_dataclasses.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_rest_framework_dataclasses.yml -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_rest_framework_gis.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_rest_framework_gis.yml -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_rest_framework_recursive.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_rest_framework_recursive.yml -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_rest_polymorphic.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_rest_polymorphic.yml -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_simplejwt.py -> drf-spectacular-0.24.0/tests/contrib
copying tests/contrib/test_simplejwt.yml -> drf-spectacular-0.24.0/tests/contrib
copying tests/locale/de/LC_MESSAGES/django.mo -> drf-spectacular-0.24.0/tests/locale/de/LC_MESSAGES
copying tests/locale/de/LC_MESSAGES/django.po -> drf-spectacular-0.24.0/tests/locale/de/LC_MESSAGES
Writing drf-spectacular-0.24.0/setup.cfg
creating dist
Creating tar archive
removing 'drf-spectacular-0.24.0' (and everything under it)
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/drf_spectacular
copying drf_spectacular/views.py -> build/lib/drf_spectacular
copying drf_spectacular/types.py -> build/lib/drf_spectacular
copying drf_spectacular/drainage.py -> build/lib/drf_spectacular
copying drf_spectacular/authentication.py -> build/lib/drf_spectacular
copying drf_spectacular/settings.py -> build/lib/drf_spectacular
copying drf_spectacular/hooks.py -> build/lib/drf_spectacular
copying drf_spectacular/extensions.py -> build/lib/drf_spectacular
copying drf_spectacular/generators.py -> build/lib/drf_spectacular
copying drf_spectacular/renderers.py -> build/lib/drf_spectacular
copying drf_spectacular/helpers.py -> build/lib/drf_spectacular
copying drf_spectacular/serializers.py -> build/lib/drf_spectacular
copying drf_spectacular/checks.py -> build/lib/drf_spectacular
copying drf_spectacular/plumbing.py -> build/lib/drf_spectacular
copying drf_spectacular/openapi.py -> build/lib/drf_spectacular
copying drf_spectacular/apps.py -> build/lib/drf_spectacular
copying drf_spectacular/utils.py -> build/lib/drf_spectacular
copying drf_spectacular/__init__.py -> build/lib/drf_spectacular
creating build/lib/drf_spectacular/contrib
copying drf_spectacular/contrib/djangorestframework_camel_case.py -> build/lib/drf_spectacular/contrib
copying drf_spectacular/contrib/django_oauth_toolkit.py -> build/lib/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_framework_simplejwt.py -> build/lib/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_auth.py -> build/lib/drf_spectacular/contrib
copying drf_spectacular/contrib/django_filters.py -> build/lib/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_polymorphic.py -> build/lib/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_framework_dataclasses.py -> build/lib/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_framework_recursive.py -> build/lib/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_framework_gis.py -> build/lib/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_framework.py -> build/lib/drf_spectacular/contrib
copying drf_spectacular/contrib/rest_framework_jwt.py -> build/lib/drf_spectacular/contrib
copying drf_spectacular/contrib/__init__.py -> build/lib/drf_spectacular/contrib
creating build/lib/drf_spectacular/validation
copying drf_spectacular/validation/__init__.py -> build/lib/drf_spectacular/validation
creating build/lib/drf_spectacular/management
copying drf_spectacular/management/__init__.py -> build/lib/drf_spectacular/management
creating build/lib/drf_spectacular/management/commands
copying drf_spectacular/management/commands/spectacular.py -> build/lib/drf_spectacular/management/commands
copying drf_spectacular/management/commands/__init__.py -> build/lib/drf_spectacular/management/commands
/opt/hostedtoolcache/Python/3.10.6/x64/lib/python3.10/site-packages/setuptools/command/build_py.py:153: SetuptoolsDeprecationWarning:     Installing 'drf_spectacular.templates.drf_spectacular' as data is deprecated, please list it in `packages`.
    !!


copying drf_spectacular/py.typed -> build/lib/drf_spectacular
creating build/lib/drf_spectacular/templates
creating build/lib/drf_spectacular/templates/drf_spectacular
copying drf_spectacular/templates/drf_spectacular/redoc.html -> build/lib/drf_spectacular/templates/drf_spectacular
copying drf_spectacular/templates/drf_spectacular/swagger_ui.html -> build/lib/drf_spectacular/templates/drf_spectacular
copying drf_spectacular/templates/drf_spectacular/swagger_ui.js -> build/lib/drf_spectacular/templates/drf_spectacular
    ############################
copying drf_spectacular/validation/openapi3_schema.json -> build/lib/drf_spectacular/validation
    # Package would be ignored #
    ############################
    Python recognizes 'drf_spectacular.templates.drf_spectacular' as an importable package,
    but it is not listed in the `packages` configuration of setuptools.

    'drf_spectacular.templates.drf_spectacular' has been automatically added to the distribution only
    because it may contain data files, but this behavior is likely to change
    in future versions of setuptools (and therefore is considered deprecated).

    Please make sure that 'drf_spectacular.templates.drf_spectacular' is included as a package by using
    the `packages` configuration field or the proper discovery methods
    (for example by using `find_namespace_packages(...)`/`find_namespace:`
    instead of `find_packages(...)`/`find:`).

    You can read more about "package discovery" and "data files" on setuptools
    documentation page.


!!

  check.warn(importable)
/opt/hostedtoolcache/Python/3.10.6/x64/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/views.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
creating build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/contrib/djangorestframework_camel_case.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/contrib/django_oauth_toolkit.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/contrib/rest_framework_simplejwt.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/contrib/rest_auth.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/contrib/django_filters.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/contrib/rest_polymorphic.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/contrib/rest_framework_dataclasses.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/contrib/rest_framework_recursive.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/contrib/rest_framework_gis.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/contrib/rest_framework.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/contrib/rest_framework_jwt.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/contrib/__init__.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/contrib
copying build/lib/drf_spectacular/types.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/drainage.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/py.typed -> build/bdist.linux-x86_64/wheel/drf_spectacular
creating build/bdist.linux-x86_64/wheel/drf_spectacular/templates
creating build/bdist.linux-x86_64/wheel/drf_spectacular/templates/drf_spectacular
copying build/lib/drf_spectacular/templates/drf_spectacular/swagger_ui.js -> build/bdist.linux-x86_64/wheel/drf_spectacular/templates/drf_spectacular
copying build/lib/drf_spectacular/templates/drf_spectacular/redoc.html -> build/bdist.linux-x86_64/wheel/drf_spectacular/templates/drf_spectacular
copying build/lib/drf_spectacular/templates/drf_spectacular/swagger_ui.html -> build/bdist.linux-x86_64/wheel/drf_spectacular/templates/drf_spectacular
copying build/lib/drf_spectacular/authentication.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/settings.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/hooks.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/extensions.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/generators.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/renderers.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/helpers.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/serializers.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/checks.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/plumbing.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/openapi.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
copying build/lib/drf_spectacular/apps.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
creating build/bdist.linux-x86_64/wheel/drf_spectacular/validation
copying build/lib/drf_spectacular/validation/openapi3_schema.json -> build/bdist.linux-x86_64/wheel/drf_spectacular/validation
copying build/lib/drf_spectacular/validation/__init__.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/validation
copying build/lib/drf_spectacular/utils.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
creating build/bdist.linux-x86_64/wheel/drf_spectacular/management
creating build/bdist.linux-x86_64/wheel/drf_spectacular/management/commands
copying build/lib/drf_spectacular/management/commands/spectacular.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/management/commands
copying build/lib/drf_spectacular/management/commands/__init__.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/management/commands
copying build/lib/drf_spectacular/management/__init__.py -> build/bdist.linux-x86_64/wheel/drf_spectacular/management
copying build/lib/drf_spectacular/__init__.py -> build/bdist.linux-x86_64/wheel/drf_spectacular
running install_egg_info
Copying drf_spectacular.egg-info to build/bdist.linux-x86_64/wheel/drf_spectacular-0.24.0-py3.10.egg-info
running install_scripts
adding license file "LICENSE" (matched pattern "LICEN[CS]E*")
creating build/bdist.linux-x86_64/wheel/drf_spectacular-0.24.0.dist-info/WHEEL
creating 'dist/drf_spectacular-0.24.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'drf_spectacular/__init__.py'
adding 'drf_spectacular/apps.py'
adding 'drf_spectacular/authentication.py'
adding 'drf_spectacular/checks.py'
adding 'drf_spectacular/drainage.py'
adding 'drf_spectacular/extensions.py'
adding 'drf_spectacular/generators.py'
adding 'drf_spectacular/helpers.py'
adding 'drf_spectacular/hooks.py'
adding 'drf_spectacular/openapi.py'
adding 'drf_spectacular/plumbing.py'
adding 'drf_spectacular/py.typed'
adding 'drf_spectacular/renderers.py'
adding 'drf_spectacular/serializers.py'
adding 'drf_spectacular/settings.py'
adding 'drf_spectacular/types.py'
adding 'drf_spectacular/utils.py'
adding 'drf_spectacular/views.py'
adding 'drf_spectacular/contrib/__init__.py'
adding 'drf_spectacular/contrib/django_filters.py'
adding 'drf_spectacular/contrib/django_oauth_toolkit.py'
adding 'drf_spectacular/contrib/djangorestframework_camel_case.py'
adding 'drf_spectacular/contrib/rest_auth.py'
adding 'drf_spectacular/contrib/rest_framework.py'
adding 'drf_spectacular/contrib/rest_framework_dataclasses.py'
adding 'drf_spectacular/contrib/rest_framework_gis.py'
adding 'drf_spectacular/contrib/rest_framework_jwt.py'
adding 'drf_spectacular/contrib/rest_framework_recursive.py'
adding 'drf_spectacular/contrib/rest_framework_simplejwt.py'
adding 'drf_spectacular/contrib/rest_polymorphic.py'
adding 'drf_spectacular/management/__init__.py'
adding 'drf_spectacular/management/commands/__init__.py'
adding 'drf_spectacular/management/commands/spectacular.py'
adding 'drf_spectacular/templates/drf_spectacular/redoc.html'
adding 'drf_spectacular/templates/drf_spectacular/swagger_ui.html'
adding 'drf_spectacular/templates/drf_spectacular/swagger_ui.js'
adding 'drf_spectacular/validation/__init__.py'
adding 'drf_spectacular/validation/openapi3_schema.json'
adding 'drf_spectacular-0.24.0.dist-info/LICENSE'
adding 'drf_spectacular-0.24.0.dist-info/METADATA'
adding 'drf_spectacular-0.24.0.dist-info/WHEEL'
adding 'drf_spectacular-0.24.0.dist-info/top_level.txt'
adding 'drf_spectacular-0.24.0.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Checking dist/drf_spectacular-0.24.0-py3-none-any.whl: PASSED
Checking dist/drf-spectacular-0.24.0.tar.gz: PASSED
Uploading distributions to https://upload.pypi.org/legacy/
Uploading drf_spectacular-0.24.0-py3-none-any.whl

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants