Skip to content

Latest commit

 

History

History
37 lines (24 loc) · 1.86 KB

CONTRIBUTING.md

File metadata and controls

37 lines (24 loc) · 1.86 KB

Contributing

Structure

The Transcriptic Python Library (TxPy) is separated into two main portions: the command line interface (CLI) and the Jupyter notebook interface.

Both the CLI and the notebook interface uses the base Connection object for making relevant application programming interface (API) calls to Transcriptic. The Connection object itself uses the routes module to figure out the relevant routes and passes that onto the api module for making these calls.

The base functionality of the CLI is handled by the cli module which is the front-facing interface for users. The english module provides autoprotocol parsing functionalities, and the util module provides additional generic helper functions.

The base functionality of the notebook interface is exposed through the objects module. Additional analysis of these objects is provided through the analysis module. In general, html representations should be provided as much as possible.

For analysis purposes, we prefer using Pandas DataFrames and NumPy arrays for representing and slicing data. For plotting, matplotlib and plotly is preferred.

Version Compatibility

We use the future module to maintain Python 2/3 compatibility. As a result, all code written should be Python 2.6/2.7 and Python 3.3+ compatible.

Styling and Documentation

All code written should follow the PEP8 standard

For documentation purposes, we follow NumPy style doc strings

Testing

For testing purposes, we write tests in the test folder in the pytest format. We also use tox for automating tests.

Ensure that all tests pass when you run tox in the main folder.