Git Product home page Git Product logo

toepack's Introduction

Clamytoe's Package Template (toepack)

Simple Python project templating system based on Cookiecutter.

Python version Latest version GitHub issues GitHub forks GitHub Stars License

The pack will create the basic framework for a command line utility that can easily be modified for other purposes. The following will be setup and configured for you:

  • Project structure
  • Generic Python .gitignore file
  • setup.py project file
  • MIT License
  • README.md with badges, like this README
  • Sample headers.py file for web scraping
  • Testing with Pytest, with initial test
  • Virtual environment support
    • requirements.txt (venv)
    • requirements-dev.txt
    • environment.yml (conda)

Initial setup

The first thing that you must do is have Cookiecutter installed.

pip install --user cookiecutter

Usage

cookiecutter https://github.com/clamytoe/toepack

Answer the prompts or accept the defaults.

Alternate usage

You could also clone this repo and install it from that copy:

git clone https://github.com/clamytoe/toepack.git
cookiecutter toepack

What it does

If you accept the defaults to the initial questions, this is what the directory structure of your new project will look like:

.
├── LICENSE
├── README.md
├── environment.yml
├── requirements-dev.txt
├── requirements.txt
├── setup.py
├── tests
│   ├── __init__.py
│   └── test_toepack_clone.py
└── toepack_clone
    ├── __init__.py
    └── app.py

2 directories, 10 files

The toepack_clone is the default name of the project and it will change to whatever you enter during that prompt.

Create your virtual environment

Now that your project's structure has been created, you can now create a virtual environment to work from. The README.md file that's created, will tell you how to create your it with normal python or with Anaconda.

License

Distributed under the terms of the MIT license, "toepack" is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Changelog

  • v0.4.3 Added support for dotenv.
  • v0.4.2 Updated for the year 2023 and python 3.10.12.
  • v0.4.1 Updated for the year 2022.
  • v0.4.0 Removed logging fromt the project, I never really use it on my small scripts and always end up removed it.
  • v0.3.1 Added flake8 to the requirements-dev.txt and environment.yml files.
  • v0.3.0 Removed poetry support since I don't really use it and updated the cookiecutter.json file
  • v0.2.8 Replaced instances of os.path with pathlib.Path and created a logs directory.
  • v0.2.7 Added pyproject.toml for poetry support.
  • v0.2.6 Removed unused linters, added mypy and version badge.
  • v0.2.5 Removed hard set version numbers for the environment/requirement packages.
  • v0.2.4 Added pytest-coverage to the developer dependencies and replaced flake8 with pycodestyle.
  • v0.2.3 Fixed a bug with the logging setup. It would only read in config if project started from project directory.
  • v0.2.2 Disabled logging during tests and prevented log level INFO from displaying in the console.
  • v0.2.1 Added more detail to the README.md file.
  • v0.2.0 Renamed the main script to app.py. I did not like the repeat name chaining..
  • v0.1.3 Fixed bug in project_title variable name in the main script template.
  • v0.1.2 Borrowed some setup.py code from https://github.com/pypa/sampleproject
  • v0.1.1 Added changelog to README.md file.
  • v0.1.0 Initial commit.

toepack's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

pybites

toepack's Issues

Remove hyphens from project name

Hyphens cause issues when attempting to import files from a module directory that contains a hyphen. Will need to figure out how to parse them out.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.