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