Welcome to the DataBooth Technical Blog repository!
This repo hosts technical articles, code samples, and reusable utilities related to data engineering, analytics, and Python programming. It is designed to be a resource for sharing insights, tutorials, and practical tools with the data community.
The various code samples and articles in this repository are in various states of completion and some are evaluating tools/libraries at different stages of development.
This repository contains:
- Technical blog articles: Jupyter notebooks and markdown files covering data engineering, analytics, and software development topics.
- Reusable code: Python modules, decorators, and SQL scripts for data workflows.
- Examples & tutorials: Hands-on guides and illustrative code samples.
Whether you're a data professional, student, or enthusiast, hopefully you'll find practical resources and inspiration here.
tech_blog/
├── decorators/ # Python decorators for reusable logic
├── perspective/ # Perspective-related utilities and articles
├── sql/ # SQL scripts and examples
├── src/tech_blog/ # Main Python package (core code) - *currently empty*
├── tests/ # Unit and integration tests
├── .gitignore
├── .python-version
├── justfile # Justfile for task automation
├── pyproject.toml # Project configuration (dependencies, metadata)
├── uv.lock # Dependency lock file
├── LICENSE
└── README.md # This file
See arg_from_file decorator - allows functions to accept either a string or a file path containing the string.
See an [Introduction to Perspective] (perspective/perspective_intro.md).
Note that this experiment is not yet complete - the initial evaluation of Perpsective was performed in mid February 2025. I contacted the team to flag some issues in October 2024 and was directed to new documentation https://docs.rs/perspective-python/latest/perspective_python/ - I have not yet had time to review this.
See sql directory for SQL scripts and examples which are used in the other examples e.g. decorators.
- Python 3.10+ (see
.python-version) - uv for dependency management (or your preferred tool)
- Just (optional) for task automation
-
Clone the repository:
git clone https://github.com/DataBooth/tech_blog.git cd tech_blog -
Install dependencies:
See pyproject.toml for dependencies
uv syncProject configuration is managed in pyproject.toml.
If you add custom settings, prefer TOML or YAML for clarity and structure.
- Explore articles: Browse the
src/tech_blog/and notebook files for tutorials and code samples. - Run code examples: Open Jupyter notebooks locally or on Hugging Face Spaces for interactive exploration.
- Use decorators and utilities: Import from the
decorators/andsrc/tech_blog/directories in your own projects.
If you have Just installed, you can run predefined tasks:
just Check the justfile for available commands.
Contributions are welcome!
Feel free to open issues, submit pull requests, or suggest topics for future articles.
To contribute:
- Fork the repo
- Create your feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/my-feature) - Open a pull request
This project is licensed under the Apache-2.0 License.
For questions or collaboration, please open an issue or reach out via [email protected].
Happy coding and I hope maybe some helpful learning!