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

feat: Updated Package Structure and Developer Tools #20

Open
wants to merge 39 commits into
base: main
Choose a base branch
from

Conversation

uwcdc
Copy link

@uwcdc uwcdc commented Apr 19, 2024

The purpose of this PR is to update the package structure to modern Python development standards and add developer tools. These changes should allow the package to be more sustainable and extensible while encouraging more open source contribution over time.

Features

Package Structure

  • Pre-commit (including Black, Ruff, Pylint, Codespell and Prettier support)
  • Pyproject.toml + hatchling for modern Python installation instructions
  • Added a Requirements.txt
  • Framework for JupyterBook deployment
  • CI to ensure pkg compatibility using...
    • Python: 3.8 to 3.11
    • Windows, Mac, and Linux OS
  • Dependabot to update GitHub Action dependencies
  • Community Health files

Developer Tools

  • Codespaces support (devcontainer.json with postBuild.sh support)
  • Auto-building Docker image (from Dockerfile)
  • Conda environment (environment.yml)
  • Added __init__.py files for local package importing
  • Nox framework to enable CLI testing of multiple Python versions

uwcdc added 30 commits March 28, 2024 03:07
@@ -0,0 +1,14 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
{
"image": "ghcr.io/swarm-io-internal/docker:latest",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Umm.. may not appropriate here

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha @kapilt! I can remove the .devcontainer. I had added it because it makes open source contribution and trying out the package easier and faster.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In addition, if you would like me to keep the devcontainer but adjust the Docker image, I can create an auto-building Docker image in your org, so you don't have to reference my organization.

@kapilt
Copy link

kapilt commented May 17, 2024 via email

@uwcdc
Copy link
Author

uwcdc commented May 17, 2024

Oh okay! Would you recommend that I just remove the Codespaces functionality?

@kapilt
Copy link

kapilt commented May 17, 2024 via email

@uwcdc
Copy link
Author

uwcdc commented May 17, 2024

Done.

@vprelovac
Copy link
Contributor

Thank you @uwcdc and @kapilt

This is a pretty large PR that is hard to review so trying to find some time to do it.

@uwcdc
Copy link
Author

uwcdc commented May 23, 2024

@vprelovac definitely understandable. A lot of the changes are just updating to modern packaging standards. I also added in some framework, so you can create a readthedocs (JupyterBook) implementation for rendering the documentation. The Codespaces is for more convenient package testing and contribution. I hope that helps. If you have any questions, feel free to reach out to me anytime.

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.

3 participants