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

SNOW-1799654: Improve MANIFEST.in File for Better Packaging Consistency #2608

Open
shashankrushiya opened this issue Nov 12, 2024 · 4 comments
Assignees
Labels
feature New feature or request status-triage_done Initial triage done, will be further handled by the driver team

Comments

@shashankrushiya
Copy link

What is the current behavior?

Currently, the MANIFEST.in file for the snowflake-snowpark-python package does not fully follow best practices for Python packaging. Essential files like README.md, LICENSE.txt, and source files with typing information are already included, but there are a few inconsistencies in the structure, and some unnecessary files are excluded in a less organized way.

What is the desired behavior?

The desired behavior is to have a streamlined and well-structured MANIFEST.in file that includes all essential documentation and source files while excluding files only needed for development (e.g., .pre-commit-config.yaml, CONTRIBUTING.md, license_header.txt, etc.). This includes adding support for *.pyi files within src/snowflake/snowpark, which helps ensure compatibility and type safety for developers using type hints.

How would this improve snowflake-snowpark-python?

This update would improve the package by:

  1. Ensuring that essential files and source code are consistently included, allowing for a more predictable and complete package for
    users.
  2. Simplifying the distribution by excluding unnecessary files, which reduces the package size and avoids potential confusion with
    non-essential files.
  3. Enhancing the development experience with better-organized files, leading to a cleaner, more manageable project structure.

References, Other Background

This request is motivated by standard best practices in Python packaging and aims to improve both the user and developer experience by refining the file inclusion and exclusion rules in the MANIFEST.in.

These changes are intended to align the snowflake-snowpark-python package with industry standards for efficient, minimal, and complete packaging.

@shashankrushiya shashankrushiya added the feature New feature or request label Nov 12, 2024
@github-actions github-actions bot changed the title Improve MANIFEST.in File for Better Packaging Consistency SNOW-1799654: Improve MANIFEST.in File for Better Packaging Consistency Nov 12, 2024
@sfc-gh-sghosh sfc-gh-sghosh self-assigned this Nov 18, 2024
@sfc-gh-sghosh
Copy link

Hello @shashankrushiya ,

Thanks for raising the concern, so are you saying to include *.pyi files ( python interface files) for static typing to ensure type safety?

Regards,
Sujan

@sfc-gh-sghosh sfc-gh-sghosh added the status-information_needed Additional information is required from the reporter label Nov 18, 2024
@shashankrushiya
Copy link
Author

shashankrushiya commented Nov 18, 2024 via email

@shashankrushiya
Copy link
Author

shashankrushiya commented Nov 21, 2024

Hi @sfc-gh-sghosh ,

I noticed the "status: information needed" label and wanted to ensure I address any questions or missing details.

To clarify, this PR focuses on refining the MANIFEST.in file to improve the packaging process for snowflake-snowpark-python. Specifically, it ensures:

  1. Inclusion of all essential files (e.g., README.md, LICENSE.txt, NOTICE) for a complete package.
  2. Support for *.pyi files to provide better static typing and compatibility with tools like mypy.
  3. Exclusion of unnecessary development files (e.g., .pre-commit-config.yaml, CONTRIBUTING.md) to keep the package clean and minimal.

If there’s anything specific that requires further information or clarification, please let me know, and I’ll address it promptly.

Looking forward to your feedback!

Best regards,
Shashank Rushiya

@sfc-gh-sghosh
Copy link

Thank you @shashankrushiya for the update and clarification, will update you further after discussion with team.

Regards,
Sujan

@sfc-gh-sghosh sfc-gh-sghosh removed the status-information_needed Additional information is required from the reporter label Nov 22, 2024
@sfc-gh-sghosh sfc-gh-sghosh added the status-triage_done Initial triage done, will be further handled by the driver team label Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request status-triage_done Initial triage done, will be further handled by the driver team
Projects
None yet
Development

No branches or pull requests

3 participants