Elementary Mathematics.

pip install elementary_math==0.0.8


https://travis-ci.org/MacHu-GWU/elementary_math-project.svg?branch=master https://img.shields.io/badge/Star_Me_on_GitHub!--None.svg?style=social

Welcome to elementary_math Documentation

elementary_math is a project to demonstrate: how to setup environment and toolsets for a python library project on github, includes these powerful components:

  • virtual environment setup (one command install everything)
  • setup.py file (one click install/uninstall)
  • auto Google stylize your code
  • fancy sphinx document (one click build/view/deploy)
  • unittest suits with pytest
  • code coverage test with coverall
  • multi python version test with tox
  • integration with https://travis-ci.org/
  • integration with https://codecov.io/
  • auto deploy to AWS S3
  • publish to PyPI

Quick Links


  1. Clone the repo.
  2. Navigate to elementary_math-project/start-a-project, edit init_project.py and run it.
  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!

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:

    index-servers =

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.

For Windows

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

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.


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

$ pip install elementary_math

To upgrade to latest version:

$ pip install --upgrade elementary_math