Project Maintenance Scripts
Project description
Rationale
These utilities are meant to help me with my repositories and their maintenance.
Dependencies
These utilities work best using the following opinionated dependencies
- Python virtual environments on a per project/repository basis
- direnv to set up the project virtual environment and any necessary environment variables
- Building using setup.py and the build module to create source and binary distributions. The documentation is here
- Using pypi for source and binary distributions
- A correctly setup $(HOME)/.pypirc for easy interaction with twine and pypi
Required Environment Variables
The above commands depend on the following environment variables.
PROJECTS_BASE - The local directory where the python projects are based
PROJECT - The name of the project; It should be a directory name
An example, of a PROJECTS_BASE is:
export PROJECTS_BASE="${HOME}/PycharmProjects"
This should be set in your shell startup script. For example .bash_profile
.
The PROJECT environment variable should be set on a project by project basis. I recommend you use direnv to manage these. An example of a .envrc follows:
export PROJECT=pyutmodel
source pyenv-3.10.6/bin/activate
Python Console Scripts
VersionOverlord means to handle this problem by providing a set of Python command line scripts to automate updating the first three of the above dependency specification locations
- runtests -- queries repositories for their latest release version
- runmypy -- creates a dependency specification for a project
- cleanup -- updates the supported dependency locations using the generated specification
- deploy --
- Prod push --
Usage
runtests runmypy cleanup deploy pushtoprod
Written by Humberto A. Sanchez II (C) 2023
Note
For all kind of problems, requests, enhancements, bug reports, etc., please drop me an e-mail.
I am concerned about GitHub's Copilot project
I urge you to read about the Give up GitHub campaign from the Software Freedom Conservancy.
While I do not advocate for all the issues listed there I do not like that a company like Microsoft may profit from open source projects.
I continue to use GitHub because it offers the services I need for free. But, I continue to monitor their terms of service.
Any use of this project's code by GitHub Copilot, past or present, is done without my permission. I do not consent to GitHub's use of this project's code in Copilot.
A repository owner may opt out of Copilot by changing Settings --> GitHub Copilot.
I have done so.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for buildlackey-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bb9300683cf1c97be916cb96f479b2d1bb88515504cdf1eafb024e2550cf66c |
|
MD5 | 663e5f98ce7540a29fa831f6f1984e29 |
|
BLAKE2b-256 | 4b69497c3f0ded8e4366b5de77acebbbaff9dfb4abfa331a3c7a134e4c33ad81 |