Creating Packages¶
Let’s create a package for blob
. Assuming a lot of things, e.g. that you
have a bunch of repositories in $HOME/git
, among them cijoe itself, and
the name of your project is blob
. Then create a skeleton like below, using
files from the cijoe repository:
# Create a directory and cd into it
mkdir $HOME/git/cijoe-pkg-blob
cd $HOME/git/cijoe-pkg-blob
# Copy files from the cijoe Python package
cp $HOME/git/cijoe/.gitignore .
cp $HOME/git/cijoe/.pre-commit-config.yaml .
cp $HOME/git/cijoe/pyproject.toml .
cp $HOME/git/cijoe/requirements.txt .
# Copy and adjust these with your and your projects name
cp $HOME/git/cijoe/LICENSE .
cp $HOME/git/cijoe/Makefile .
cp $HOME/git/cijoe/setup.py .
Then create the actual package content layout:
# The deep nesting is because cijoe uses namespace packages
mkdir -p src/cijoe/blob
mkdir -p src/cijoe/blob/{selftest,tests,scripts,workflows,configs}
touch src/cijoe/blob/__init__.py
touch src/cijoe/blob/{selftest,tests,scripts,workflows,configs}/__init__.py
# If you are putting it on GitHUB, set the passwords on your repos
cp -r $HOME/git/cijoe/.github .
git init
git add .
git commit -s -m "Initial commit"
That should give you a skeleton.