Skip to content

Latest commit

 

History

History
93 lines (64 loc) · 3.22 KB

CONTRIBUTING.rst

File metadata and controls

93 lines (64 loc) · 3.22 KB

Contributing

Contributions are welcome, and they are greatly appreciated!

Types of Contributions

Report Bugs

Report bugs at https://github.com/Jhsmit/pyhdx/issues.

If you are reporting a bug, when running PyHDX locally, please include:

  • Your operating system name and version.
  • Any details about your local setup that might be helpful in troubleshooting.
  • Detailed steps to reproduce the bug, possibly include a minimal dataset which reproduces the bug.

If you are reporting a bug when using the hosted PyHDX web interface, please include:

  • The version of PyHDX as shown in the top header
  • Which web component you were using and steps to reproduce the bug.
  • Possibly include input/output data which helps reproduce the bug.

Submit Feedback

The best way to send feedback is to file an issue at https://github.com/Jhsmit/pyhdx/issues.

If you are proposing a feature:

  • Explain in detail how it would work.
  • Keep the scope as narrow as possible, to make it easier to implement.

Pull Requests

You can contribute code by submitting a pull request. If you contribute new features describe in your PR what the new feature does, possible references to literature and how it should be used.

The PR should add new tests for the new feature and all current tests should pass. New functions and classes should have docstrings and ideally code examples and documentation should be added.

Documentation

Docstrings use google style headers. Parameters for __init__ are documented at the class level. intersphinx is used to link to classes of external packages. Some guidelines for how to refer to objects or entities:

  • Variable, module function and class names: `numpy`
  • Boolean values: ``True``
  • Python objects: :obj:`int`, :obj:`bool
  • Numpy arrays: :class:`~numpy.ndarray`
  • Pandas dataframe: :class:`~pandas.DataFrame`
  • Classes within the same module: :class:.HDXMeasurement
  • Default values: copy : :obj:`bool`, default: ``True``
  • Refer to arguments / parameters with single ticks: `param1`

pahtlike should be: Pathlike[str] or Union[str, Pathlike[str]]

Properties:

Additional resources:

Sphinx docstrings `Mypy cheatsheet <https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html>__ `Google styleguild <https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings>__