climate_toolbox

https://img.shields.io/pypi/v/climate_toolbox.svg https://img.shields.io/travis/ClimateImpactLab/climate_toolbox.svg Documentation Status Updates

Tools for climate data wrangling

Setting up this package

Justin Simcock: complete these instructions and then remove this section from the readme.

  1. Create a matching repository on github if you haven’t already:

    1. go to https://github.com/organizations/ClimateImpactLab/repositories/new

    2. enter the following information:

      owner

      ClimateImpactLab

      Repository Name

      climate_toolbox

      Description

      Tools for climate data wrangling

      Privacy

      Public

      Do not initialize the repo with a readme, license, or gitignore!

    3. Press the big green buttton

  2. Execute the following commands in this directory:

    git init
    git add .
    git commit -m "initial commit"
    git remote add origin git@github.com:ClimateImpactLab/climate_toolbox.git
    git push -u origin master
    
  3. Set up automated testing, coverage, updates, and docs:

    1. Set up testing
      1. go to https://travis-ci.org/ and sign in/sign up with github. Make sure travis has access to the repositories on your github account and those owned by the ClimateImpactLab by enabling access in your account settings.
      2. Next to “My Repositories” click the ‘+’ icon
      3. Flip the switch on ClimateImpactLab/climate_toolbox. If you don’t see it in the list, click ‘Sync account’, and make sure you are looking at the ClimateImpactLab repositories.
      4. Push a change to your package (for example, you could delete this section). You should see tests start running on travis automatically.
      5. Start writing tests for your code in the climate_toolbox/tests folder. There are some examples already in there to get you started.
    2. Set up docs
      1. go to https://readthedocs.io and sign in/sign up with github. Same deal - make sure readthedocs has access to your github account and ClimateImpactLab.
      2. click ‘Import a project’, go to ClimateImpactLab, and refresh.
      3. click the ‘+’ icon next to ClimateImpactLab/climate_toolbox. Pick a name for your project. The name has to be globally unique (not just within the ClimateImpactLab), so if you chose something with a common name you may have to rename the docs.
      4. next time you push code to master, docs should build automatically. You can view them at https://climate_toolbox.readthedocs.io/en/latest/ (substitute whatever name you chose).
    3. Set up updates
      1. go to https://pyup.io. you know the drill.
      2. Go to your account, and click ‘+ Add Repo’. Sync.
      3. Add ClimateImpactLab/climate_toolbox with “Dependency Updates” and “SafetyCI” turned on. Leave “Update Schedules” off.
    4. Set up test coverage monitoring
      1. next up: https://coveralls.io. you got this.
    5. Breathe easy. The next time you push code, these should all update for you! Now that wasn’t so bad, was it?
  4. Develop with github:

    1. In general, it’s best to file an issue when you want to change something or when you’ve found a bug, then write tests which test a-priori assertions about desired behavior, and then write the minimum amount of code required to pass these tests. See the contributing docs for more workflow suggestions.

      To run all tests on your local machine:

      make test
      
  5. Deploy

    1. Set up deployment by registering the package on the python package index (PyPI):

      1. Create an account on PyPI: https://pypi.python.org/pypi

      2. Register the package:

        python setup.py register
        
      3. Encrypt & package your credentials so travis can deploy for you:

        python travis_pypi_setup.py
        
    2. When you’re ready to deploy this package, make sure all your changes are committed. Then run:

      bumpversion patch # (or minor or major)
      git push
      git push --tags
      

      As soon as this new tagged commit passes tests, travis will deploy for you

    3. Anyone (in the world) should now be able to install your package with

      pip install [package-name]
      

Features

  • TODO

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.