Skip to content

citation-file-format/pycff

Repository files navigation

PyCFF

A Python library for reading and writing CFF files.

Note that this is an early prototype. Please do not use this for anything beyond playing with things, it is completely untested and probably buggy.

Project Setup

Here we provide some details about the project setup. Most of the choices are explained in the guide. Links to the relevant sections are included below. Feel free to remove this text when the development of the software package takes off.

For a quick reference on software development, we refer to the software guide checklist.

Version control

Once your Python package is created, put it under version control! We recommend using git and github.

cd pycff
git init
git add -A
git commit

To put your code on github, follow this tutorial.

Python versions

This repository is set up with Python versions:

  • 3.5
  • 3.6
  • 3.7

Add or remove Python versions based on project requirements. The guide contains more information about Python versions and writing Python 2 and 3 compatible code.

Package management and dependencies

You can use either pip or conda for installing dependencies and package management. This repository does not force you to use one or the other, as project requirements differ. For advice on what to use, please check the relevant section of the guide.

  • Dependencies should be added to setup.py in the install_requires list.

Packaging/One command install

You can distribute your code using pipy or conda. Again, the project template does not enforce the use of either one. The guide can help you decide which tool to use for packaging.

Testing and code coverage

Documentation

  • Documentation should be put in the docs folder. The contents have been generated using sphinx-quickstart (Sphinx version 1.6.5).
  • We recommend writing the documentation using Restructured Text (reST) and Google style docstrings.
  • To generate html documentation run python setup.py build_sphinx
    • This is configured in setup.cfg
    • Alternatively, run make html in the docs folder.
  • The docs/_static and docs/_templates contain an (empty) .gitignore file, to be able to add them to the repository. These two files can be safely removed (or you can just leave them there).
  • To put the documentation on Read the Docs, log in to your Read the Docs account, and import the repository (under 'My Projects').
    • Include the link to the documentation in this README.
  • Relevant section in the guide

Coding style conventions and code quality

  • Check your code style with prospector
  • You may need run pip install .[dev] first, to install the required dependencies
  • You can use yapf to fix the readability of your code style and isort to format and group your imports
  • Relevant section in the guide

CHANGELOG.rst

CITATION.cff

  • To allow others to cite your software, add a CITATION.cff file
  • It only makes sense to do this once there is something to cite (e.g., a software release with a DOI).
  • To generate a CITATION.cff file given a DOI, use doi2cff.
  • Relevant section in the guide

CODE_OF_CONDUCT.rst

CONTRIBUTING.rst

MANIFEST.in

NOTICE

Installation

To install pycff, do:

git clone https://github.com/NLeSC/pycff.git
cd pycff
pip install .

Run tests (including coverage) with:

python setup.py test

Documentation

Include a link to your project's full documentation here.

Contributing

If you want to contribute to the development of PyCFF, have a look at the contribution guidelines.

License

Copyright (c) 2018, Netherlands eScience Center

Apache Software License 2.0

Credits

This package was created with Cookiecutter and the NLeSC/python-template.

About

A prototype Python library for CFF

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages