Code Monkey home page Code Monkey logo

python's Introduction

Templ Python

HitCount Contributions welcome Python Version TravisCI

Donate to this project using Patreon Donate to this project using Paypal

Sonarcloud Status SonarCloud Coverage SonarCloud Bugs SonarCloud Vulnerabilities

Python logo

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. โ€“ Martin Fowler

python is a template project, designed by Templ Project.

python includes instructions for initializing a new Pyhon project, and configuring it for development, unit testing as well as code linting and analysis.

python implements:

Getting Started

Prereqiusites / Dependencies

For Windows
For Linux/Unix/OSX
  • Please install git and make
# i.e debian
sudo apt-get install git make -y
# i.e mac OS
brew install make git

Known Issues / Troubleshooting

  • Running Travis CI with Windows fails on coverage. Seems Travis CI Windows image has an issue with this.
  • Python support starts with version 3.6 and above.

Installation

  1. Clone the project
  2. Remove .git folder
  3. Re-initialize your git repository
  4. Use make init to initialize your project
  5. If you're targeting to write an application and not a module, use make init MOD=app
  6. Run make configure to configure project or
  7. Run make venv to create a virtual environment (make venv is included in make configure)
  8. Run make to see all your pre-implemented options
git clone https://github.com/templ-project/python your_project
cd your_project
rm -rf .git
git init
git add remote origin https://url/to/your/project/repository
git add .
git commit -am "init"
git push origin master
make init PROJECT=your_project MODE=mod
# make init PROJECT=your_project MODE=app
make configure
# make venv
# make

Python version

Most Linux versions, come with python 2.7 as default. The rest of python versions that are installed, can be found having a name similar to python3.x, i.e python3.5.

To allow using a specific python version, create a file called Makefile.py-version.include which should include the following:

PY = python3.8
PIP = pip3.8

or

PY = /path/to/my/version/of/python
PIP = /path/to/my/version/of/pip

When runing make venv, the version used by the Makefile will be the one defined in this file.

Development

Requirements

Testing

Run unit tests using make test.

Testing is currently set to use unittest.

  • or you could use make test TEST_LIB=pytest
  • or you could alter Makefile.mod.include to use pytest by default. Just change the commented line as showed:
# TEST_LIB=unittest
TEST_LIB=pytest

Single Tests

Run single unit tests file, by calling make test-single TEST_PATH=./path/to/file.py

make test-single TEST_PATH=./your-project/test/hello.py

Deployment

Adapt release directive in your Makefile to fit your needs.

make release will know how to increment version and create tags on its own.

Authors

Issues / Support

Add a set of links to the issues page/website, so people can know where to add issues/bugs or ask for support.

License

(If the package is public, add licence) This project is licensed under the MIT License - see the LICENSE.md file for details

Remove Everything above this line


Project Title

One Paragraph of project description goes here

Getting Started

Prereqiusites / Dependencies

What things you need to install the software and how to install them (based on each OS type).

For Windows

# Give Examples

npm install -g node-gyp windows-build-tools
# Warning: Please note windows-build-tools will install MSVS which takes a 
# LONG amount of time.

For Linux

# Give Examples

apt-get install build-essential mono
npm install -y node-gyp

Known Issues / Troubleshooting

Describe a list of known issues, and how to bypass them.

Installation

A step by step series of examples that tell you how to get a development env running

Say what the step will be

Give the example

And repeat

until finished

End with an example of getting some data out of the system or using it for a little demo

Development

Explain any development process for the project, if necesary

give examples

Testing

Explain how to run the automated tests for this system

Break down into (at least) unit tests

Explain what these tests test and why

Give an example

and end to end tests

Explain what these tests test and why

Give an example

And coding style tests

Explain what these tests test and why

Give an example

Deployment

Add additional notes about how to deploy this on a live system

Authors

See also the list of contributors who participated in this project.

Issues / Support

Add a set of links to the issues page/website, so people can know where to add issues/bugs or ask for support.

License

(If the package is public, add licence) This project is licensed under the MIT License - see the LICENSE.md file for details

Changelog

Small changelog history. The rest should be added to CHANGELOG.md.

See here a template for changelogs: https://keepachangelog.com/en/1.0.0/

Also see this tool for automatically generating them: https://www.npmjs.com/package/changelog

python's People

Contributors

dragoscirjan avatar

Watchers

James Cloos avatar  avatar

python's Issues

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.