🎉 Initial commit

This commit is contained in:
Neill Cox 2023-10-22 16:21:00 +11:00
commit b2822e4541
10 changed files with 1046 additions and 0 deletions

95
README.md Normal file
View file

@ -0,0 +1,95 @@
# Python Skeleton
This a skeleton for a python project
Includes file layout, pyproject.toml, README.md, license and a hello world script.
Intended as a starting point for future personal projects
To use:
Clone this and then delete the git repo (unless you're working on the skeleton)
## Create a new git repo
`git init`
```
git config --local init.defaultbranch main
git config --local user.name "Neill Cox"
git config --local user.email "neill.cox@ingenious.com.au"
```
Configure as necessary.
## Create a virtualenv
`python -m venv venv`
## Activate
`source venv/bin/activate`
## Upgrade pip
`pip install --upgrade pip`
## Install requirements-dev.txt
`pip install -r requirements-dev.txt`
If this was an actual project this would be the time to install the actual requirements
`pip install -r requirements.txt`
That's an empty file at the moment so there's no point
## Check that tests work
`pytest`
Should produce something like:
```
======================================================== test session starts ==========================================================
platform linux -- Python 3.11.5, pytest-7.4.2, pluggy-1.3.0 -- /home/ncox/Projects/python-skeleton/venv/bin/python
cachedir: .pytest_cache
rootdir: /home/ncox/Projects/python-skeleton
configfile: pyproject.toml
testpaths: tests
plugins: cov-4.1.0
collected 1 item
tests/test_skeleton.py::test_hello_word PASSED [100%]
---------- coverage: platform linux, python 3.11.5-final-0 -----------
Name Stmts Miss Cover Missing
---------------------------------------------------------------
src/python_skeleton/__init__.py 6 1 83% 18
---------------------------------------------------------------
TOTAL 6 1 83%
========================================================== 1 passed in 0.02s ===========================================================
```
## Install pre-commit hooks:
`pre-commit install`
Should produce:
`pre-commit installed at .git/hooks/pre-commit`
## Commit files (feel free to make some changes first)
```
git add .
git commit -m ":tada: Initial commit"
```
I like using [gitmoji](https://gitmoji.dev), but that's entirely up to you.
## Note there is a docs directory, but it's really a skeleton and probably doesn't work.
I'll fix this in a later version.