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

Release of SLIM Python Starterkit Sample Project #8

Merged
merged 30 commits into from
Jan 31, 2023
Merged

Conversation

jpl-jengelke
Copy link
Collaborator

@jpl-jengelke jpl-jengelke commented Dec 14, 2022

Purpose

  • Release of a unified Python sample project starterkit that automates build, release and publishing to PyPi for OSS consumption.

Proposed Changes

  • NOTE: Build instructions are inline with the project README.
  • Introduction of a feature rich Python project template that provides the following:
    • Modern build tooling using pyproject.toml, setup.cfg and compliant with PEP517/518 standards
    • Builds controlled outside code through parameterized configurations, using an IoC pattern
    • Automatic versioning from Git tags and commits, including incremental versioning in development
      • Releases are based on a version file in the top-level application module.
      • To release, update the file with the proposed version and tag to that version in a release.
    • GitHub Action publishing end-to-end with automatic detection of tagged releases.
      • Tag and release and the project is sent to PyPi without further manual intervention.
    • Automatic package find, so no more manually entering packages in the build configurations!
    • New tooling, integration with:
      • The twine, Python build module and other tooling that support legacy setuptools behavior -- Best of both worlds!
      • Instructions for both local development installations using pip -e and build/package installations from packaged deliverables.

Issues

Testing

jpl-jengelke and others added 24 commits November 15, 2022 15:32
Proposed GitHub templates for bugs, feature requests, and pull requests
Proposed LICENSE text file w/ JPL-Caltech attribution
Proposed CONTRIBUTING.md file using a standardized template
Proposed README.md file using standardized template
@jpl-jengelke jpl-jengelke requested a review from riverma December 14, 2022 23:20
@jpl-jengelke jpl-jengelke self-assigned this Dec 14, 2022
@jpl-jengelke
Copy link
Collaborator Author

#8

@jpl-jengelke
Copy link
Collaborator Author

The PR for Dependabot instructions is ready at NASA-AMMOS/slim#84
(In context: https://github.com/NASA-AMMOS/slim/blob/issue_73/continuous-testing/starter-kits/README.md )

The PR for using this in CI scenarios is pending shortly.

Copy link
Collaborator

@riverma riverma left a comment

Choose a reason for hiding this comment

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

Looks really good! I wanted to test run this and will wait to do that when the SLIM write-up is ready. Excellent stuff @jpl-jengelke!

.github/workflows/python-publish.yml Show resolved Hide resolved
CODE_OF_CONDUCT.md Show resolved Hide resolved
slim_sample_project/hello_world.py Show resolved Hide resolved
AUTHORS.md Outdated Show resolved Hide resolved
@jpl-jengelke jpl-jengelke requested review from MJJoyce and a team January 5, 2023 18:02
…iable fields. Updated README to simplify install command. ...
@jpl-jengelke
Copy link
Collaborator Author

Based on feedback in the main project, there are no additional changes necessary here. Waiting on approval to merge.

Copy link
Collaborator

@riverma riverma left a comment

Choose a reason for hiding this comment

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

Go for merge 🚀. Thanks @jpl-jengelke!

@jpl-jengelke jpl-jengelke merged commit 05d9d6c into main Jan 31, 2023
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