Skip to main content
https://travis-ci.org/MacHu-GWU/pygitrepo-project.svg?branch=master https://codecov.io/gh/MacHu-GWU/pygitrepo-project/branch/master/graph/badge.svg https://img.shields.io/pypi/v/pygitrepo.svg https://img.shields.io/pypi/l/pygitrepo.svg https://img.shields.io/pypi/pyversions/pygitrepo.svg https://img.shields.io/badge/Star_Me_on_GitHub!--None.svg?style=social

Welcome to pygitrepo Documentation

pygitrepo can quickly initiate a python project from scratch, with these powerful tools out-of-the-box:

  • make up: single command to create/clean virtual environment.

  • make reformat: command to Google stylize your code.

  • make install: (For end user) install your package (setup.py file is out-of-the-box).

  • make dev_install: (For package developer) install your package in dev mode (setup.py file is out-of-the-box).

  • make test: unittest with pytest (tests folder and scripts is out-of-the-box, just follow the pattern and create more).

  • make cov: code coverage test with coverage, the default .coveragerc fit most of the case).

  • make tox: multi python version test with tox, the default tox.ini fit most of the case.

  • built-in integration with https://travis-ci.org/.

  • built-in integration with https://codecov.io/.

  • make build_doc / view_doc: easy sphinx document writing, no need to run sphinx-quickstart, and write conf.py file.

  • make deploy_doc: deploy document to AWS S3.

  • make publish: publish your project to PyPI

pygitrepo is compatible with Windows / MacOS / Linux.

Usage

  1. Install: pip install pygitrepo.

  2. Run command line tool: pygitrepo-init.

  3. A <repo-name> directory will be created, you can use this as your github repo directory.

  4. Take a look at Makefile, all magic happens here!

If you want to programmatically initialize your repository, you can do:

import pygitrepo

package_name = "pygitrepo"
github_username = "xxx"
supported_py_ver = ["2.7.13", "3.4.6", "3.5.3", "3.6.2"]
author_name = "xxx"
author_email = "example@email.com"
license="MIT"
s3_bucket = "doc-host"

if __name__ == "__main__":
    pygitrepo.init(
        package_name=package_name,
        github_username=github_username,
        supported_py_ver=supported_py_ver,
        author_name=author_name,
        author_email=author_email,
        license=license,
        s3_bucket=s3_bucket,
    )

Things Need to Install

For Windows (Git-Bash and MinGW)

Because Windows doesn’t have shell script and make command, so we have to install some third-party software to make it works.

Install Git Bash as shell emulator

  1. Download and install git.

  2. Now you can use C:\Program Files\Git\git-bash.exe like the terminal in MacOS/Linux.

Install MinGW

  1. Download and install, use the installer to install MinGW Base.

  2. Find C:\MinGW\bin\mingw32-make.exe, copy and paste and rename as C:\MinGW\bin\make.exe.

  3. Add C:\MinGW\bin to $PATH (environment variable).

Now you can use make <target> in git-bash.exe now.

For MacOS (HomeBrew)

You have to make sure:

There’s two way of using virtualenv in MacOS:

  1. Use generic virtualenv.

  2. Use pyenv + pyenv-virtualenv.

I prefer pyenv + pyenv-virtualenv, because it allows you:

  1. use tox to test against multiple python version locally before using cloud CI (continues integration).

  2. will not mess up your global python environment.

  3. the Makefile will do the pyenv + pyenv-virtualenv setup for you, just make sure that you have HomeBrew installed.

AWS Command Line (Optional)

Use AWS S3 to host your doc site is a good idea!

We need awscli to automate the deployment.

  1. Install awscli, just pip install awscli.

  2. Configure your API token, just aws configure and follow the instruction.

Config PyPI (Optional)

If you want to publish your package to PyPI or new PyPI, you need a pypi account and Configure your credential.

  1. Create a ${HOME}/.pypirc file.

  2. put these contents:

    [distutils]
    index-servers =
        pypi
    
    [pypi]
    username:<username>
    password:<password>

CI (Continues Integration) (Optional)

  1. Test with travis-ci, basically you just need to:
    • sign in using GitHub account.

    • toggle on your repo.

  2. Code Coverage Test with codecov.

Install

pygitrepo is released on PyPI, so all you need is:

$ pip install pygitrepo

To upgrade to latest version:

$ pip install --upgrade pygitrepo

Metadata

Release files for pygitrepo 0.0.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pygitrepo 0.0.10
File Size Uploaded
pygitrepo-0.0.10.tar.gz 59.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pygitrepo 0.0.10
File Interpreter ABI Platform
pygitrepo-0.0.10-py2-none-any.whl Python 2 none any Details

Total release size: 141.5 kB

Release files / pygitrepo-0.0.10.tar.gz

Download URL pygitrepo-0.0.10.tar.gz
Size 59.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0cff53e613f1e0ec013c01cf80ddc211a72a9e5573766dc7b844f751989f70ac
BLAKE2b-256 checksum
How to use checksums
21bdde97ea56a67bcd9b2045d3a53488504cf5c39b93689daad65e2a8a61e212
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pygitrepo-0.0.10-py2-none-any.whl

Download URL pygitrepo-0.0.10-py2-none-any.whl
Size 82.0 kB
Tags Python 2
SHA-256 checksum
How to use checksums
e4ce9734f29d14962c8637b9081a0977822ce9cb2a4f933f5fb4677bb4d9f597
BLAKE2b-256 checksum
How to use checksums
b43c0f45cf16448379d4da1efc3f3e4b7bd67c0d7554760ef6085d43c55a3cbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

0.0.27

2 release files

0.0.26

2 release files

0.0.25

2 release files

0.0.24

2 release files

0.0.22

2 release files

0.0.19

2 release files

0.0.18

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

This release

0.0.10 This release

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page