Project Short Description
Project description
Overview
This is a template project I use for my personal projects, to remind me how to set up projects, folder structures, etc. and how to integrate the projects with Travis CI, PyPI, and other such services.
Creating a new project
clone the project files
rename the ‘src/ksp_sample’ subfolder to reflect the new project name
update the project specific parameters in the ‘project.prop’ file in the root folder
update the import path in the “./tests/test_version.py” script to reflect your new project name
activate project on travis-ci.org
log in to the Travis CI website
hover over your avatar in the top-right corner and select ‘settings’
click the “sync account” button in the left side-bar
refresh your browser page to make sure your list of projects is up to date
find your project in the list and click the slider to turn on support
click the small cog icon next to your new project to configure settings
Under environment variables, define the following variables (needed to publish Python packages):
DEPLOY_USER User name to log in to PyPI package repository
DEPLOY_PASS Password for the PyPI user
Under cron set the master branch to build once a month
so long as your project has a .travisci.yml file in the root folder the build should automatically start
activate project on readthedocs.org
log in to the ReadTheDocs website
click the drop-down list on your name in the top-left corner and select “My Projects”
click “Import a Project”
To import automatically, try clicking the “Refresh” button to load your Github projects, and select the one(s) to load
To import manually, click “Import Manually”
Under “Name of Project” enter the name of the Github project without the URL or .git extension
Under the “Repository URL” field, copy-paste the HTTPS URL used for cloning the Github project
Check the “Advanced Options” check box and click “Next”
Fill out the advanced properties as desired
activate project on coveralls.io
log in to the coveralls dashboard
click “add repo”
search for new repo in the list
click the “on” button to enable coverage analysis
activate project on requires.io
log in to the requires dashboard
click on the “repositories” button at the top
wait for the project list to refresh and show your new project
click the “Activate” button next to your repo
modify the ‘fail_under’ value in the .coveragerc file to a reasonable value for unit test coverage (ie: 90% say)
For consistency, set the following to the same ‘short descriptive’ text for the project:
title on GitHub project
description of readthedocs page
DistUtils project short description in the setup.py
first line of the readme.rst
Using the project
to generate a package do the following:
python setup.py bdist_wheel
uploading of new versions to pypi is handled automatically via Travis CI
NOTE: After tagging a new release, you will need to enable the docs for the release on readthedocs.org. Log in, locate the project in question, click on settings -> versions and make sure the check box labelled “active” is checked for the new version.
Updating the API docs and generating sample HTML output is done as follows:
tox -e py3-docs
make sure to add any new project dependencies to the project.prop file as requirements change
TIPS
make sure your project name doesn’t use underscores in the name because pypi packages will convert them to dashes when being published which creates a subtle discrepancy between the module name and the package name, which can lead to confusion
make sure your project name doesn’t use dashes in the name because you’ll need to name your module with the dash for consistency but then the project will fail the PEP8 validation check because the name doesn’t satisfy the snake-case naming requirements.
to make some of the badges work you’ll need to upload a version to pypi
all development work should be done in a local virtual environment under a ./venv subfolder (ie:
virtualenv -p python3 ./venv && . ./venv/bin/activate
)you can add PyCharm projects to the repo. Just exclude the files listed in the .gitignore file.
Links
badge related blog: http://thomas-cokelaer.info/blog/2014/08/1013/
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file ksp_sample-0.0.6-py2.py3-none-any.whl
.
File metadata
- Download URL: ksp_sample-0.0.6-py2.py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/38.2.4 requests-toolbelt/0.9.1 tqdm/4.31.0 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6aba49c90bb2df626657509bc553e96556695f6a1d572647a674c676cab67071 |
|
MD5 | 4b32deb27053c1d734acdad6715cd1e2 |
|
BLAKE2b-256 | 500aaa96be05ce830663ebf656f62aeb6bfdebce091c6111f229b81bfdcba723 |