The purpose of this library is to provide a logger for my other projects. It also is acting as a learning process for publishing a python module.
sort out the proper file / function printing
This is a package that can be included in projects to output messages
Example logging REPO: https://github.com/srtamrakar/python-logger/tree/master
1. Write the module
2. Build module
- python3 -m pip install --upgrade build
- python3 -m build
2. Upload module to pypi to be installed: https://packaging.python.org/en/latest/tutorials/packaging-projects/
.gitignore
.venv
bin
activate...
pip
pip3
pip3.11
python
python3
python3.11
include
python3.11
...
lib
python3.11
...
pyenv.cfg
build
bdist.macosx-12-arm64
dist
HootLogger-0.0.1-py3-none-any.whl
HootLogger-0.0.1.tar.gz
LICENSE
pyproject.toml
setup.py
src
HootLogger
__init__.py
__pycache__
logger.py
HootLogger.egg-info
demo.py
README.md
requirements.txt
tests
<pip install .>
installs: tar under the 'dist' creates .egg-info
Needed files: setup.py LICEANSE README
Layouts: flat-layouts:
src-layout:
Questions: setup.cfg:
setup.py:
Instructions to build software. Maybe some configuration options like computing test coverage or unit tests or
the install prefix.
pyproject.toml:
Specifies the project's metadata.
Used to replace .cfg, but formats everything in TOML. ( Tom's Obvious, Minimal Language: https://en.wikipedia.org/wiki/TOML )
You can put "Abstract Dependancies" here, but not pinned dependencies. Pinned ones belong in the requirements.txt
requirements.txt:
Not the same thing as setup.cfg. Needed for a different reason. This is typically used for deploymnet with
version pinned dependencies. The reason is so you don't get the latest and greatest, and only get the version
you know you have explicitley tested.