hy/docs/hacking.rst

101 lines
1.8 KiB
ReStructuredText
Raw Normal View History

2019-08-13 22:54:45 +02:00
.. _hacking:
2013-04-05 22:30:12 +02:00
===============
Hacking on Hy
2013-04-05 22:30:12 +02:00
===============
2013-10-08 04:16:31 +02:00
.. highlight:: bash
Join our Hyve!
2013-04-05 22:30:12 +02:00
==============
Please come hack on Hy!
2013-04-05 22:30:12 +02:00
Please come hang out with us on ``#hy`` on ``irc.freenode.net``!
Please talk about it on Twitter with the ``#hy`` hashtag!
Please blog about it!
2013-04-05 22:34:25 +02:00
Please don't spraypaint it on your neighbor's fence (without asking nicely)!
2013-04-05 22:30:12 +02:00
Hack!
=====
Do this:
1. Create a `virtual environment
2013-10-08 04:16:31 +02:00
<https://pypi.python.org/pypi/virtualenv>`_::
$ virtualenv venv
and activate it::
$ . venv/bin/activate
2016-05-15 15:09:17 +02:00
or use `virtualenvwrapper <https://virtualenvwrapper.readthedocs.io/en/latest/#introduction>`_
to create and manage your virtual environment::
2013-10-10 23:17:43 +02:00
$ mkvirtualenv hy
$ workon hy
2. Get the source code::
2013-10-08 04:16:31 +02:00
$ git clone https://github.com/hylang/hy.git
2013-04-05 22:30:12 +02:00
2013-10-08 04:16:31 +02:00
or use your fork::
2013-04-05 22:30:12 +02:00
2013-10-08 04:16:31 +02:00
$ git clone git@github.com:<YOUR_USERNAME>/hy.git
3. Install for hacking::
2013-04-05 22:30:12 +02:00
2013-10-08 04:16:31 +02:00
$ cd hy/
$ pip install -e .
2013-04-05 22:30:12 +02:00
4. Install other develop-y requirements::
2013-04-05 22:30:12 +02:00
$ pip install -r requirements-dev.txt
5. Do awesome things; make someone shriek in delight/disgust at what
2013-10-08 04:16:31 +02:00
you have wrought.
2013-04-05 22:30:12 +02:00
Test!
=====
2017-04-26 23:00:11 +02:00
Tests are located in ``tests/``. We use `pytest <http://pytest.org>`_.
2013-04-05 22:30:12 +02:00
To run the tests::
2017-04-26 23:00:11 +02:00
$ pytest
2013-04-05 22:30:12 +02:00
Write tests---tests are good!
Also, it is good to run the tests for all the platforms supported and for
PEP 8 compliant code. You can do so by running tox::
$ tox
2013-04-05 22:30:12 +02:00
Document!
=========
Documentation is located in ``docs/``. We use `Sphinx
<http://sphinx-doc.org/>`_.
2013-10-08 04:16:31 +02:00
To build the docs in HTML::
2013-04-05 22:30:12 +02:00
$ cd docs
$ make html
Write docs---docs are good! Even this doc!
2013-12-01 18:56:26 +01:00
.. include:: ../CONTRIBUTING.rst
Core Team
=========
The core development team of Hy consists of following developers:
.. include:: coreteam.rst