Skip to content
akangasr edited this page Oct 28, 2016 · 9 revisions

Feature branches

Each feature branch should have: - branch name (short, descriptive, unique) - description of the feature - person responsible for managing the feature Discuss in Slack #abc before adding a new feature

Feature development is tracked in https://github.com/HIIT/abcpy/projects

output_persistence

  • develop the ability to persist generated data (eg. simulated data) to a database and retrieve it from there when appropriate
  • RP: Jarno, Antti

test_fw

  • develop initial test framework
  • RP: Kusti

documentation_fw

  • develop initial documentation functionality
  • RP: Kusti

smc_abc

  • develop SMC ABC inference method
  • RP: Henri

reporting

  • develop basic reporting functions for debugging the inference process and printing out the prior, ABC samples, (likelihood) and posterior
  • RP: Antti

node_change

  • develop a way to change the class of node while at the same time keeping existing references valid
  • RP: Henri

acq_api

  • develop a intuitive user interface for composing acquisition functions for BO methods
  • RP: Kusti

Development guidelines

Adding a new feature

  • Discuss if feature should be added (in Slack #abc)
  • If there are people supporting the idea, create a feature branch to main repo (from dev branch)
  • Add feature data to list of feature branches

Contributing to an existing feature

  • Pick a feature to work on
  • Fork the main repository, checkout your version of the feature branch
  • Develop code
  • Push commits to your fork
  • Make a pull request from your repo feature branch to main repo feature branch
  • Wait until PR accepted; make changes if needed

Making a small change / bugfix (smaller than a feature)

  • Fork the main repository, checkout dev branch
  • Develop code
  • Push commits to your fork
  • Make a pull request from your repo dev branch to main repo dev branch
  • Wait until PR accepted; make changes if needed

Merging a feature

  • When feature is ready, announce this in Slack #abc
  • Make a pull request from main repo feature branch to main repo dev branch
  • Wait until PR accepted by majority vote of core developers; make changes if needed

Making a release

  • When all features for release are ready, announce this in Slack #abc
  • Make a pull request from main repo dev branch to main repo master
  • Wait until PR accepted by all core developers; make changes if needed
  • Add release version tag to main repo master branch
  • Publish new version to pypi
Clone this wiki locally