railyard-bootstrap's People
railyard-bootstrap's Issues
Implement `sdist` command class wrapper
Move `plugin` method to `Version` class
To simplify the public interface of the railyard.bootstrap.version
module, the plugin
registry method should be moved from VersionParser
to Version
.
Support revision tagging for source distributions
Description
Python source distributions (i.e. those generated using sdist
) should be supported by Railyard Bootstrap's revision tagging feature.
Assumptions
sdist
is the only command class used in Python 3 to generate source distributions.- Users may have their own implementations of
sdist
. - Source distributions have a root package directory.
Requirements
- Railyard Bootstrap's implementation of
sdist
should preserve any pre-existing functionality of the command class, user-defined or otherwise. - The source code should have access to the dynamic, git-derived version.
- The generated source distribution should have access to the static, git-derived version frozen at distribution time.
- The version should be importable from the root package.
Make `Version` immutable
Revert `setuptools/distutils.setup` wrapper
Python 3.8+ provides a means of accessing distribution metadata which includes the distribution version, rendering the setuptools
wrapper and custom command classes unnecessary.
Implement `setuptools/distutils.setup` wrapper
Implement PEP 440-compliant version container class
Railyard Bootstrap's automated revision tagging relies upon the ability to generate a version identifier based on a recent Git tag or the current Git revision. An interactive version container type should be implemented to enforce the PEP 440 standard and make it easy to parse a PEP 440-compliant version string into its component parts. The type should handle incrementing individual version segments such that any less significant segments are reset to their defaults.
Implement dictionary methods for `Version`
Support plugins in embedded version logic and load default plugin directly
The automated revision tagging parser should be extensible via plugins. This will allow users to implement support for their version control or build system of choice.
Implement build CLI command
Implement `build_py` command class wrapper
Implement Git version parser plugin
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.