Swiss-army knife for Python scripts. Includes logging, HTTP status codes, and more.
Project description
Dagwood
Dagwood is a Swiss Army knife for Python, a collection of small utilities that I find myself using over and over again. It's named after Dagwood Bumstead, the sandwich-loving husband of Blondie in the eponymous comic strip.
Why "Dagwood"? Because a.) I like sandwiches, and b.) the name was available on PyPI.
To install Dagwood, run:
pip install dagwood
Available Utilities
Logging
To quickly set up a logger:
import dagwood
logger = dagwood.assemble()
This will create a logger with default settings: log level set to INFO
and log messages formatted as '%(asctime)s - %(levelname)s - %(message)s'
. Logs will be written to a folder named logs
.
You can customize the log folder, log file name, log level, and log format by passing optional parameters to assemble
.
folder_name
: The name of the folder to store log files (default:'logs'
)file_name
: The name of the log file (default:None
, which generates a log file with a timestamp)level
: The log level (default:logging.INFO
)format
: The log format (default:'%(asctime)s - %(levelname)s - %(message)s'
)
logger = dagwood.assemble(folder_name='my_logs', file_name='app.log', level=logging.DEBUG, format='%(levelname)s - %(message)s')
HTTP Codes
An easy way to check the meaning of an HTTP status code:
from dagwood import http_codes
# Example of interpreting an HTTP code
CODE = 500
response = http_codes.interpret(CODE)
print(response.message) # 'Internal Server Error'
print(response.explanation) # 'The server has encountered a situation it does not know how to handle.'
# Checking the type of the response
types = http_codes.get_enums()
if response.type == types.SERVER_ERROR:
# Handle server error
pass
You can also retrieve the different types of HTTP responses:
types = http_codes.get_enums()
print(types) # ['Informational', 'Success', 'Redirection', 'Client Error', 'Server Error']
Contributing
Feel free to open an issue or submit a pull request.
To publish a new version to PyPI:
pip install twine # if you don't have it already
python setup.py sdist bdist_wheel # build the package
twine upload dist/* # upload to PyPI
Development
Running Tests
The test suite can be run using Python's built-in unittest
framework.
Navigate to the tests
directory and run:
python -m unittest test_dagwood.py
Or, if you're in the root directory:
python -m unittest tests/test_dagwood.py
Project details
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
File details
Details for the file dagwood-2.0.0.tar.gz
.
File metadata
- Download URL: dagwood-2.0.0.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a07f7c2141a6724c65d800e08064e6bb3259bcea20737eaf29426e219bdf85d4 |
|
MD5 | b64c4d44b30756e3abae758dcd175950 |
|
BLAKE2b-256 | 04486d32612436a356abb6d59a36dbfda8e9a0cce88388784898fb0c868e7d11 |
File details
Details for the file dagwood-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: dagwood-2.0.0-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa110b036f9dfe28bcf9e5e7519a8e0662437369d1c7f02a3b44e6c912251084 |
|
MD5 | e45db5d65f0ef80bd27e4d45e6147855 |
|
BLAKE2b-256 | c89b846b3da0210389e4771fa92171038d03bb78a6607fb3c4722af84e1607e0 |