Skip to content

Commit 6120e16

Browse files
author
Andrew Johnson
authored
Merge pull request #407 from drewejohnson/fix-readme
DOC Update the main readme, release guide
2 parents 98cf91a + 6afe643 commit 6120e16

File tree

4 files changed

+72
-32
lines changed

4 files changed

+72
-32
lines changed

README.rst

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,10 @@ Installation
3333

3434
$ python -m pip install --user --upgrade pip serpentTools
3535

36-
3736
For more detailed instructions, including operating-system specific
3837
instructions and building from source, see
3938
`Installation Guide <http://serpent-tools.readthedocs.io/en/latest/install.html>`_.
4039

41-
4240
Issues
4341
======
4442

@@ -51,25 +49,19 @@ References
5149

5250
The Annals of Nuclear Energy article should be cited for all work
5351
using ``SERPENT``. If you are using this project, please considering
54-
citing with::
52+
citing with
5553

56-
Andrew Johnson, Dan Kotlyar, Stefano Terlizzi, and Gavin Ridley,
57-
"`serpentTools: A Python Package for Expediting Analysis with
58-
Serpent <https://doi.org/10.1080/00295639.2020.1723992>`_,"
59-
*Nuc. Sci. Eng*, (in press) (2020).
54+
* Andrew Johnson, Dan Kotlyar, Stefano Terlizzi, and Gavin Ridley,
55+
"`serpentTools: A Python Package for Expediting Analysis with
56+
Serpent <https://doi.org/10.1080/00295639.2020.1723992>`_,"
57+
*Nuc. Sci. Eng*, (in press) (2020).
6058

6159
Also, let us know if you publish work using this package! We try and
62-
keep an up-to-date list of `works using serpentTools`_, and would be
60+
keep an up-to-date list of works using serpentTools [2]_, and would be
6361
happy to include more.
6462

65-
If you want to refer to a specific version, follow the `Zenodo DOI
66-
<https://doi.org/10.5281/zenodo.1301035>`_. This will resolve to the latest
67-
version, with links to earlier releases.
68-
69-
.. _works using serpentTools: https://github.com/CORE-GATECH-GROUP/serpent-tools/wiki/Publications-using-serpentTools
70-
71-
If you want to refer to a specific version, follow the `Zenodo DOI
7263
.. [1] Leppanen, J. et al. (2015) "The Serpent Monte Carlo code: Status,
7364
development and applications in 2013." Ann. Nucl. Energy, `82 (2015) 142-150
7465
<http://www.sciencedirect.com/science/article/pii/S0306454914004095>`_
7566
67+
.. [2] https://github.com/CORE-GATECH-GROUP/serpent-tools/wiki/Publications-using-serpentTools

docs/develop/git.rst

Lines changed: 56 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -38,19 +38,19 @@ should be incremented prior to new releases with the following designation:
3838
Releases
3939
========
4040

41-
Releases should be done with `git tags <https://git-scm.com/docs/git-tag>`_ from the master branch
42-
and then pushed to GitHub.
43-
Annotated tags should be used and can be created with::
41+
Following a release, the following actions should be performed:
4442

45-
git tag -a <version>
46-
git tag -s <version>
47-
git tag -m <msg> <version>
43+
1. Archived and installable python files should be created
44+
2. Archived and installable python files should be uploaded to the
45+
python package index, :term:`PyPI`
46+
3. The tag should be pushed to GitHub and marked as a release, including information
47+
on the changes introduced in this release
4848

49-
Pushing these tags to GitHub creates a new
50-
`release <https://github.com/CORE-GATECH-GROUP/serpent-tools/releases>`_.
51-
If a message is used, the messages should be a brief message describing the changes on this tag.
52-
On the release page, a more detail list of changes, such as pull requests and issues closed,
53-
should be listed.
49+
This section details changes and procedures that, if followed, will increase chances
50+
of a painless release.
51+
52+
Updating the package version
53+
----------------------------
5454

5555
Before and after a release, the project version number should be updated in the
5656
following places:
@@ -59,13 +59,52 @@ following places:
5959
2. ``serpentTools/__init__.py``
6060
3. ``docs/conf.py``
6161

62-
Following a release, the following actions should be performed:
62+
The new version should be indicative of the changes introduced between this release
63+
and the previous release.
6364

64-
1. Archived and installable python files should be created
65-
2. Archived and installable python files should be uploaded to the
66-
`python package index <https://pypi.python.org/pypi>`_
67-
3. The tag should be pushed to GitHub and marked as a release, including information
68-
on the changes introduced in this release
65+
Generating distributions
66+
------------------------
67+
68+
The new distribution, that can be uploaded to :term:`PyPI`, can be
69+
generated with
70+
71+
.. code:: sh
72+
73+
python setup.py sdist bdist_wheel
74+
75+
This will produce a source distribution and binary python wheel in the ``dist``
76+
directory, each of the form ``dist/serpentTools-<version>.<extension>``.
77+
Before tagging and pushing releases to :term:`PyPI`, the distribution should be
78+
checked with
79+
80+
.. code:: sh
81+
82+
twine check dist/serpentTools-<version>*
83+
84+
:term:`twine` will check that the package is compatible with the standards set
85+
by :term:`PyPI` prior to uploading. Following a successful check, the distribution
86+
can be pushed to the package index using
87+
88+
..code:: sh
89+
90+
twine upload dist/serpentTools-<version>*
91+
92+
Tagging
93+
-------
94+
95+
Releases should be done with `git tags <https://git-scm.com/docs/git-tag>`_ from the master branch
96+
and then pushed to GitHub.
97+
Annotated tags should be used and can be created with
98+
99+
.. code:: sh
100+
101+
git tag -s <version>
102+
103+
Pushing these tags to GitHub creates a new
104+
`release <https://github.com/CORE-GATECH-GROUP/serpent-tools/releases>`_.
105+
If a message is used, the messages should be a brief message describing the changes on this tag.
106+
On the release page, a more detail list of changes, such as pull requests and issues closed,
107+
should be listed.
69108

70109
.. _dev-commitMessages:
71110

docs/glossary.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@ Glossary
6969
Recommended tool for installing Python packages. More at
7070
`<https://pypi.org/project/pip/>`_
7171

72+
PyPI
73+
Python package index. Where packages that can easily
74+
be fetched and installed via :term:`pip` can be found.
75+
`<https://pypi.org>`_
76+
7277
pytest
7378
Fully featured python test runner. More at
7479
`<https://pytest.org/en/latest/>`_
@@ -87,6 +92,9 @@ Glossary
8792
distribution and licensing of ``SERPENT`` can be found at
8893
`<http://montecarlo.vtt.fi>`_.
8994

95+
twine
96+
Python package for interacting with and uploading packages to :term:`PyPI`
97+
9098
yaml
9199
Human-readable format used for configuration files in this
92100
project. For more information, see

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ def getDataFiles():
5454
'description': ('A suite of parsers designed to make interacting with '
5555
'SERPENT output files simple, scriptable, and flawless'),
5656
'long_description': longDesc,
57+
'long_description_content_type': 'text/x-rst',
5758
'maintainer': 'Andrew Johnson',
5859
'maintainer_email': '[email protected]',
5960
'author': 'serpentTools developer team',

0 commit comments

Comments
 (0)