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

Proposal: Adopt pyproject.toml for Project Improvement #52

Open
iconFehu opened this issue Jan 25, 2024 · 2 comments
Open

Proposal: Adopt pyproject.toml for Project Improvement #52

iconFehu opened this issue Jan 25, 2024 · 2 comments

Comments

@iconFehu
Copy link

Description:

Issue Description:

The current configuration file format in use shows signs of being outdated, potentially hindering the project's adaptability and distancing it from modern Python development practices. To address this, I propose migrating to pyproject.toml, a widely accepted standard for Python projects introduced by PEP 518 and implemented in Python 3.7. This move aims to ensure our project stays current and well-supported.

Advantages:

  • Standardization: pyproject.toml has become a widely accepted standard for Python project configuration. Adopting it will align our project with industry norms, fostering collaboration, and making integration with other tools and frameworks more straightforward.

  • Future-Proofing: By embracing pyproject.toml, we future-proof our project, ensuring compatibility with evolving Python standards and best practices. This is crucial for maintaining the project's long-term viability and reducing technical debt.

Historical Background:

The introduction of the pyproject.toml file was realized through PEP 518, titled "Specifying Minimum Build System Requirements for Python Projects." This PEP was accepted and implemented in Python 3.7, providing a standardized way to specify build system requirements for Python projects, replacing the previous use of setup.py or setup.cfg files.

Proposed Steps:

  1. Configuration Migration: Swiftly transition the existing configuration to pyproject.toml to align with best practices in the Python community.

  2. Documentation Update: Promptly update project documentation to guide users and contributors through the new pyproject.toml configuration structure.

  3. Testing and Validation: Rigorously test the project's build and dependency management under the new configuration to guarantee a smooth transition without compromising project stability.

Additional Context:

I am willing to actively contribute to this migration process and submit a Pull Request promptly.

Thank you for your attention to this matter.

@Maratyszcza
Copy link
Owner

SG, you're welcome to create PRs with this change

@iconFehu
Copy link
Author

I have created a Pull Request to address this issue. You can find it here.

Note:

  • Version Setting: This change will now read the version from the opcodes.__version__ variable to ensure consistency in versioning across the codebase.

  • README Update: This change also involves updating the README.md file to reflect the latest state of the project and usage instructions.

  • Dependency Update: Dependencies will now be read from the requirements.txt file, facilitating easier management of project dependencies.

These changes aim to enhance the maintainability and consistency of the project while ensuring synchronization across various components. Thank you for your review and merge.

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

No branches or pull requests

2 participants