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

Falcon 4.0.0 adds possibly unintended directories when installed #2384

Open
LenardJensen opened this issue Oct 22, 2024 · 4 comments
Open

Falcon 4.0.0 adds possibly unintended directories when installed #2384

LenardJensen opened this issue Oct 22, 2024 · 4 comments
Assignees
Milestone

Comments

@LenardJensen
Copy link

Hello,
after the update to Falcon 4.0.0 I noticed my venv site-packages contained directories that I could not match to a specific library. After checking my different dependencies I managed to connect those directories to the new Falcon update and wanted to ask if these changes were intended.

Expected Behavior

When installing Falcon using pip, a falcon and falcon-xxx.dist-info directory gets created in the site-packages directory.

Actual Behavior

Falcon 4.0.0a1 and Falcon 4.0.0 also installs their docs, e2e-tests, examples, tests and tools directories into the site-packages of a virtualenv.

Steps to Reproduce the Problem

  1. Create a new venv using python -m venv my-venv
  2. Install either Falcon 4.0.0 or 4.0.0a1 using pip install "falcon==4.0.0"
  3. Navigate into my-venv/Lib/site-packages/ which contains the additional directories. falcon-4.0.0.dist-info\RECORD will contain the paths to those additional directories

Specifications

  • Version: Tested using Python 3.11 and pip 22.2.1
  • Platform: Windows 11
@LenardJensen LenardJensen changed the title Falcon 4.0.0 installs possibly unintended directories when installed Falcon 4.0.0 adds possibly unintended directories when installed Oct 22, 2024
@CaselIT CaselIT added the bug label Oct 22, 2024
@CaselIT
Copy link
Member

CaselIT commented Oct 22, 2024

Hi,

Looking at the created wheels that seems to be the case.
@vytas7 can you look at it? It looks like a 4.0.1 candidate (also not connected to this, what is the milestone for 4.0.x?)

@vytas7
Copy link
Member

vytas7 commented Oct 22, 2024

Hi @LenardJensen!
This is absolutely not intended. It seems to be a bug or unwanted artefact of cibuildwheel, PEP 517-build process or something like that now that we got rid of setup.cfg.

We'll take a look and get a fix out.

@vytas7 vytas7 self-assigned this Oct 22, 2024
@vytas7 vytas7 added this to the Version 4.0.1 milestone Oct 22, 2024
@CaselIT
Copy link
Member

CaselIT commented Oct 22, 2024

IIRC MANIFEST.in is still used to define what's included.

It's actually strange since for example tests have no files, but includes test/asgi and that folder includes all the test files, so it seems there is some file filtering going on, but it's likely failing for some reason

@vytas7
Copy link
Member

vytas7 commented Oct 22, 2024

It is some trickery of the new mode of Setuptools, MANIFEST.in is used to define what is included in the sdist, but the wheels used to only include modules and package data. I'll check what our options are...

I've also checked our older builds prior to removing setup.cfg, and they look as expected.

Edit: it seems the new mode happily finds non-modules as modules too (i.e. directories not containing any __init__.py). I'll probably simply change from exclude to include.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants