Commit Graph

86 Commits

Author SHA1 Message Date
Ryan Gonzalez 03e2ac3531 Revamp the setup script's install command
Previously, the Hy files would be bytecode compiled before the
compiler's dependencies were installed. In additon, the revamped
version properly propogates the optimization level and generally is a
bit cleaner.

Fixes #1864.
2020-01-18 16:06:09 -06:00
Kodi Arfer 80eb27906a Update copyright years 2020-01-09 14:05:12 -05:00
Ryan Gonzalez 0579561b83 Drop clint for colors in favor of colorama
Closes #1820.
2019-10-08 09:50:15 -05:00
Ryan Gonzalez 6f3b6ca735 Pre-Python 3.4 cleanup (including Python 2) 2019-07-22 14:11:17 -04:00
Kodi Arfer da855af569 Remove Python 2 from trove classifiers 2019-06-04 14:01:59 -04:00
Kodi Arfer bd7b8bf5e1 Revert "get_version is not needed in data_files"
This reverts commit 403442d6b1.

It turns out that without `get_version` in `data_files`, trying to install Hy from a setuptools-produced source distribution fails with an error that `get_version` can't be found.
2019-05-20 10:28:17 -04:00
Kodi Arfer 71ea2b5f0e Depend on astor 0.8 2019-05-19 13:34:52 -04:00
Kodi Arfer 63ba27b36d Update trove classifiers and NEWS 2019-04-23 15:35:12 -04:00
Kodi Arfer 9f519ed208 Depend on astor master
We need it for Python 3.8.
2019-04-23 15:35:12 -04:00
Evan Klitzke 403442d6b1 get_version is not needed in data_files 2019-04-12 13:06:55 -04:00
Kodi Arfer ad97042b6b Don't test Python 3.4 2019-03-17 18:36:53 -04:00
Kodi Arfer 62638b44a3 Update copyright years 2019-02-07 08:57:35 -05:00
Kodi Arfer d7c6fd8fa1 Upgrade rply to avoid a deprecation warning 2019-02-05 13:06:12 -05:00
Kodi Arfer 99851f7f6b Use fastentrypoints
This speeds up launching `hy`.
2018-08-18 18:05:40 -04:00
Kodi Arfer abbf29165a Depend on astor 0.7 2018-07-21 11:20:10 -07:00
Kodi Arfer 81035878dd Bump rply version 2018-05-26 09:33:06 -07:00
Kodi Arfer 79c02514b9 Introduce the use of model patterns 2018-05-20 14:07:44 -07:00
Kodi Arfer 21f13b977d Update NEWS and classifiers for Python 3.7 support 2018-03-24 12:39:54 -07:00
Kodi Arfer f27eda16e1 Depend on an unstable version of astor
We need it for Python 3.7.
2018-03-24 12:34:43 -07:00
Kodi Arfer 6de7ddfee5 Update copyright years 2018-01-01 10:38:33 -05:00
gilch 6bb997dbea update astor to 0.6 2017-10-31 14:13:41 -06:00
Kodi Arfer 0fc96306bc Drop support for Python 3.3 2017-08-26 13:36:51 -07:00
Ryan Gonzalez 292f445a0a Update rply to 0.7.5
Closes #1313. Ref. alex/rply#52, alex/rply#71.
2017-07-12 15:53:07 -05:00
Kodi Arfer 7361b37a75 Add get_version as a data file to setup.py 2017-06-15 11:30:05 -07:00
Kodi Arfer 032830bada Mark support for Python 3.6 in setup.py 2017-06-15 11:11:54 -07:00
Kodi Arfer dd9774fb6d Remove the documentation's dependency on Hy itself 2017-05-23 11:28:28 -07:00
gilch b9279183d7 Merge pull request #1286 from Kodiologist/new-license-headers
Use license headers consistently
2017-05-22 13:36:53 -06:00
Kodi Arfer a537d33471 In setup.py, handle backslash-separated paths (#1284)
The obvious way to do this is to apply os.path.split iteratively, and I tried that first, but it seemed like overkill for setup.py.
2017-05-03 18:47:52 -05:00
Kodi Arfer 2eb81864df Make all files comply with license-header policy 2017-04-27 14:16:57 -07:00
Kodi Arfer ef3bad7e03 Drop support for Python 2.6 2017-04-24 14:18:56 -07:00
Kodi Arfer a9cfe25068 Sort the results of os.walk in setup.py (#1281)
os.walk need not provide its results in any specific order. So, sorting might help with situations like that described in #1280. Even if not, it could help avoid some very mysterious bugs in the future that arise from different orders in which Hy's modules are imported.
2017-04-24 09:54:15 -05:00
Kodi Arfer 2b11b9be20 Automatically read and write bytecode
Importing or executing a Hy file now loads the byte-compiled version if it exists and is up to date, and if not, the source is byte-compiled after it's parsed.

This change can speed up Hy a lot. Here are some examples comparing run times of the current master (491b474e) to this commit, on my laptop with Python 3.6:

- `nosetests --exclude='test_bin'` goes from 3.8 s to 0.7 s (a 5-fold speedup)
- `hy -c '(print "hello world")` goes from 0.47 s to 0.20 s (a 2-fold speedup)
- Rogue TV's startup goes from 3.6 s to 0.4 s (a 9-fold speedup)

Accompanying changes include:

- `setup.py` now creates and installs bytecode for `hy.core`, `hy.contrib`, and `hy.extra`.
- The `hyc` command under Python 3 now creates bytecode in `__pycache__`, as usual for Python 3, instead of putting the `.pyc` right next to the source file like Python 2 does.

I've removed a test of `hy.extra.anaphoric.a-if` that triggers #1268 when the test file is byte-compiled and then hits some weird `macroexpand` bug or something when I try to work around that—Nose crashes when trying to produce an error message, and I can't seem to replicate the bug without Nose.
2017-04-14 13:38:33 -07:00
Kodi Arfer fe0fb6fba1 Use `try` instead of `if` in setup.py 2017-01-24 08:31:38 -08:00
Kodi Arfer 6e7e94dd8e Tweak __version__ handling in setup.py 2017-01-20 13:34:15 -08:00
Tuukka Turto fe8209bf03 Include hy.extra in packaging (#1201)
closes #1200
2017-01-17 12:46:58 -06:00
Kodi Arfer f831b3e98f Merge branch 'entry_point' 2016-11-25 16:04:24 -08:00
Kodi Arfer ac01c0f03f Changed version punctuation for PEP 440 compliance
They now look like:  0.11.0+295.gec6e264.dirty
instead of:          0.11.0-295-gec6e264-dirty
2016-10-13 13:41:14 -07:00
Kodi Arfer ec6e264753 Allow calling setup.py from a subdirectory 2016-10-13 13:32:13 -07:00
Kodi Arfer 23c457cee5 Generate hy.version using `git describe` 2016-10-12 17:11:44 -07:00
Zack M. Davis 888c7efe0c tighten pyreadline requirement [#1011, #1022] 2016-02-01 21:51:51 -08:00
2alex2 81b2aebf9f Update setup.py
Fix Python 3.5 compatibility for Windows.
2015-12-31 16:41:34 +02:00
Felix Yan 864fa66f22 Enable automated testing with Python 3.5
and switch travis to use tox
2015-11-03 23:32:31 +08:00
Ryan Gonzalez 83540666fe Add versioned entry point scripts (closes #931) 2015-09-05 18:24:51 -05:00
Zack M. Davis d40405fde3 bump astor dependency to 0.5 to support matrix multiplication operator
See berkerpeksag/astor@0350295e.
2015-04-19 20:24:25 -07:00
Bob Tolbert 54ce193c41 Merge pull request #702 from berkerpeksag/add-clint
Add clint as a dependency.
2014-12-07 10:58:30 -07:00
Berker Peksag 94362e903d Add clint as a dependency.
Since clint 0.3, it supports Python 3.
2014-12-06 21:15:59 +02:00
Berker Peksag 5004e754d3 Remove Python 3.2 from classifiers. 2014-12-06 21:06:11 +02:00
Berker Peksag cdea12b276 Make hy2py public. 2014-04-30 01:51:21 +03:00
Berker Peksag f53644568a Add Python 3.4 to classifiers. 2014-03-18 10:27:35 +02:00
Berker Peksag 870c136469 Add astor to install_requires.
`hy --spy` fails on hy 0.9.11.

    $ hy --spy
    hy 0.9.11
    => (type "hy")
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/hy/cmdline.py", line 68, in print_python_code
        import astor.codegen
    ImportError: No module named astor.codegen
2013-12-10 17:46:45 +02:00