A simple NLP library allows profiling datasets with one or more text columns. When given a dataset and a column name containing text data, NLP Profiler will return either high-level insights or low-level/granular statistical information about the text in that column.
Other
241
stars
37
forks
source link
[FEATURE] Automate library release process to GitHub and PyPi #49
Currently, the release process (to GitHub and PyPi) is done manually, it's prone to errors, and the two scripts used work best in happy-path use-case scenarios while edge-case even though less to worry about are not taken care of, as well as they could have been.
The release to PyPi should be fail-safe as there is no way to revert if a mistake is made.
Proposed feature
Automate the process and checks and balances:
[ ] check if the git state is valid, report invalid state and abort step
[ ] Check if version information is tagged/entered into the CHANGELOG.md
if the __version__ is the same, let the user know it needs to be entered before proceeding
otherwise, mention the presence and proceed
[ ] version checking: compare local version stamp with that on git repo (releases/tags) and warn accordingly
if the __version__ is the same, let the user know it needs to be incremented before proceeding
otherwise mention local version and remote version and proceed with the process
[ ] version checking: compare local version stamp with that on pypi and warn accordingly
if the __version__ is the same, let the user know it needs to be incremented before proceeding
otherwise mention local version and remote version and proceed with the process
[x] synchronise local and remote repo (part of the scripts)
[x] by running GITHUB_TOKEN=$MY_GITHUB_TOKEN ./release-to-github.sh
[ ] ability to delete release and tag from local and remote with a switch in the script
[ ] add to ./release-to-github.sh
[ ] ask the user when running the pypi release script if they REALLY wish to proceed
[ ] when running ./release-to-pypi.sh
[X] synchronise local and remote repo after releasing (part of the scripts) (already done when it's run the first time)
[x] by running GITHUB_TOKEN=$MY_GITHUB_TOKEN ./release-to-github.sh
Provide tangible steps or CLI commands when suggesting solutions for the above steps. Also, add messages to suggest next steps for the two scripts when it finishes executing.
Alternatives considered
Manual intervention: perform all the above steps manually using the above checklist as the release process is a highly infrequent process.
Also, libraries like bumpversion could be taken into consideration, depending on how useful and flexible they are.
Missing functionality
Currently, the release process (to GitHub and PyPi) is done manually, it's prone to errors, and the two scripts used work best in happy-path use-case scenarios while edge-case even though less to worry about are not taken care of, as well as they could have been.
The release to PyPi should be fail-safe as there is no way to revert if a mistake is made.
Proposed feature
Automate the process and checks and balances:
CHANGELOG.md
__version__
is the same, let the user know it needs to be entered before proceedinggit
repo (releases/tags) and warn accordingly__version__
is the same, let the user know it needs to be incremented before proceedingpypi
and warn accordingly__version__
is the same, let the user know it needs to be incremented before proceedingGITHUB_TOKEN=$MY_GITHUB_TOKEN ./release-to-github.sh
./release-to-github.sh
pypi
release script if they REALLY wish to proceed./release-to-pypi.sh
GITHUB_TOKEN=$MY_GITHUB_TOKEN ./release-to-github.sh
Provide tangible steps or CLI commands when suggesting solutions for the above steps. Also, add messages to suggest next steps for the two scripts when it finishes executing.
Alternatives considered
Manual intervention: perform all the above steps manually using the above checklist as the release process is a highly infrequent process.
Also, libraries like bumpversion could be taken into consideration, depending on how useful and flexible they are.