summaryrefslogtreecommitdiff
path: root/docs/development.rst
blob: 8a1893e5d37029b3d8ac93364d9b7436681f7049 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
===========
Development
===========

smartypants_ is hosted on Bitbucket, you can clone the repository or file an
issue report from there.

.. _smartypants: https://bitbucket.org/livibetter/smartypants.py


Contributing
============

You are welcome to contribute whatever you can. Coding, documenting,
reporting issues, requesting features, even correcting typos.


Testing
=======

If you want to contribute to the source code, be sure that you check your
modification can pass tests. Normally, if you use Unix-like system, you should
be able to run all tests with::

  make test

It will test DOC8, PEP8, pyflakes, unittest, and package installation::

  make test_isort
  make test_doc8
  make test_pep8
  make test_pyflakes
  make test_test
  make test_setup

.. note:: They will all be tested with both Python 2 and Python 3. You may need
          to override ``PY2_CMD`` and/or ``PY3_CMD``.

If ``make`` isn't available, ``setup.py`` can be used::

  python setup.py isort
  python setup.py pep8
  python setup.py pyflakes
  python setup.py test

For manual package installation test::

  python setup.py sdist
  pip install --user --upgrade dist/smartypants-<x.y.z>.tar.gz


Building
========

Package
-------

You should be able to build the package with either of::

  make

.. note:: ``make`` builds source tarball, zip, and win32 setup.

or::

  python setup.py sdist


Documentation
-------------

You should be able to build the documentation with either of::

  make doc

or::

  python setup.py build_sphinx


Reporting
=========

Please head over to Issues_ and create an issue for a bug report or feature
request.

.. _Issues: https://bitbucket.org/livibetter/smartypants.py/issues