Behdad Esfahbod
6be1737965
[cython] Minor add inline
2018-10-06 21:07:13 +02:00
Cosimo Lupo
bc288169a2
typo
2018-09-26 21:27:55 +01:00
Cosimo Lupo
67d1a1d884
README.rst: add installation instructions for cython module
2018-09-26 21:25:49 +01:00
Cosimo Lupo
8baa24fee4
tox: only build sdist for upload on PyPI
2018-09-26 21:25:46 +01:00
Cosimo Lupo
4ee6f7c15a
Merge pull request #153 from googlei18n/cython-setup
...
set up optional cython extension module
2018-09-26 20:22:12 +01:00
Cosimo Lupo
06a981383b
travis: update pypi password, use twine (via tox) to upload to PyPI
2018-09-26 20:19:20 +01:00
Cosimo Lupo
b2410d9fe0
tox: add envs to build sdist, pure/native wheels, and upload to pypi
2018-09-26 20:18:21 +01:00
Cosimo Lupo
c0a9b3689c
travis: run tests both with and without cython
2018-09-26 19:10:18 +01:00
Cosimo Lupo
040c8536e2
tox: run tests with and without cython
2018-09-26 19:06:21 +01:00
Cosimo Lupo
d23308884b
.coveragerc: exclude vendored cython.py
2018-09-26 19:06:21 +01:00
Cosimo Lupo
31ad0eb841
setup.py: make building of extension module optional
...
One can now use either the $CU2QU_WITH_CYTHON environment variable
or the --with/without-cython command line options to setup.py.
The --without-cython is for when one wants to get a pure, universal
wheel despite having both cython and a C compiler installed.
By default (when no env var nor command line options are used),
building from source will attempt to compile the extension module
using the pre-generated *.c source files that are always included
in the sdist package that we (will) upload to PyPI.
If the compilation fails (e.g. the user doesn't have a C compiler),
then an error message will be printed but installation will proceed
without the optional native extension.
When cloning a fresh repo, the *.c sources will not be present, so
to build the extension from local checkout one always needs Cython
installed.
When $CU2QU_WITH_CYTHON is true (1, or yes), then cython is required
and installation will abort if any error occurs during building.
2018-09-26 19:06:20 +01:00
Cosimo Lupo
0f80ff7b2c
cu2qu: add a COMPILED flag to check if cu2qu is running in compiled/interpreted mode
2018-09-26 19:02:02 +01:00
Cosimo Lupo
73d3ce4bc1
cu2qu: add language_level=3 and define_macros to enable coverage
2018-09-26 19:02:02 +01:00
Cosimo Lupo
c13ce2faee
cu2qu: return float('NaN') instead of None so return val matches signature
...
Otherwise I get 'TypeError: must be real number, not NoneType' when running tests with
the compiled cu2qu extension module
2018-09-26 19:02:02 +01:00
Cosimo Lupo
6719b3e1a5
update .gitignore
2018-09-26 19:00:59 +01:00
Cosimo Lupo
337c302488
cli: add missing __future__ import absolute_import
2018-09-26 19:00:59 +01:00
Cosimo Lupo
672b446c89
move cu2qu/__init__py to cu2qu/cu2qu.py so we can make an optional Extension module
2018-09-26 19:00:59 +01:00
Cosimo Lupo
d37bbef646
use setuptools_scm for getting package version from git tags
2018-09-26 18:59:03 +01:00
Cosimo Lupo
ddeece03c7
add script to download updated Cython/Shadow.py module
2018-09-26 18:59:03 +01:00
Cosimo Lupo
1d2b159911
Add copy of Cython.Shadow as cu2qu.cython
2018-09-26 18:59:03 +01:00
Behdad Esfahbod
f85240f005
[cython] Remove a couple intermediates
2018-09-26 11:08:25 -04:00
Cosimo Lupo
add13842f9
Merge pull request #152 from googlei18n/cython
...
Cython
2018-09-26 12:41:55 +01:00
Cosimo Lupo
db3b73713c
Merge pull request #151 from googlei18n/pyup-scheduled-update-2018-09-24
...
Scheduled weekly dependency update for week 38
2018-09-26 12:16:47 +01:00
Cosimo Lupo
a807ab2b93
tests: use math.isclose to compare float coordinates
...
using the default tolerance which is 1e-9, i.e. assures that two floats are the same
within about 9 decimal digits
https://docs.python.org/3/library/math.html#math.isclose
2018-09-26 12:13:39 +01:00
Behdad Esfahbod
36d1b69d7e
[cython] More
2018-09-25 18:04:27 -04:00
Behdad Esfahbod
0c361f5cc4
[cython] Some more
2018-09-25 18:01:48 -04:00
Behdad Esfahbod
3efd0839a1
[cython] Add a few @cython.cfunc
2018-09-25 17:52:16 -04:00
Behdad Esfahbod
1f9c4a9e6b
[cython] Some more annotations
2018-09-25 17:29:08 -04:00
Behdad Esfahbod
ffdeb86420
Add cython shim
2018-09-25 17:21:54 -04:00
Behdad Esfahbod
f07bf0c266
[cython] Add some cython annotations
...
Compare:
Python:
behdad:cu2qu 0$ python __init__.py
curve_to_quadratic: 62.7us
curves_to_quadratic: 163.2us
Cython:
behdad:cu2qu 0$ cython --embed -a __init__.py && gcc __init__.c `python-config --cflags --libs` -O3 && ./a.out
curve_to_quadratic: 30.4us
curves_to_quadratic: 77.8us
Cython without this commit:
behdad:cu2qu 0$ cython --embed -a __init__.py && gcc __init__.c `python-config --cflags --libs` -O3 && ./a.out
curve_to_quadratic: 43.9us
curves_to_quadratic: 113.3us
So, 2x speedup compared to Python. 1.5x speedup compared to Cython without annotations.
More to be done.
2018-09-25 17:18:15 -04:00
Behdad Esfahbod
ed9da8db80
Add benchmarking to __init__
...
I haven't removed tools/benchmark.py. Probably should.
Also, improved the timeit parameters over benchmark.py.
2018-09-25 16:05:40 -04:00
pyup-bot
c618f2a9e7
Update defcon from 0.5.2 to 0.5.3
2018-09-24 16:10:10 +01:00
pyup-bot
58291879eb
Update fonttools from 3.29.0 to 3.30.0
2018-09-24 16:10:08 +01:00
Cosimo Lupo
0130055fc7
move defcon from test-requirements.txt to requirements.txt
...
https://github.com/googlei18n/cu2qu/issues/148
2018-09-05 19:23:41 +01:00
Cosimo Lupo
aa4351a610
Merge pull request #147 from googlei18n/pyup-scheduled-update-2018-09-03
...
Scheduled weekly dependency update for week 35
2018-09-05 19:22:13 +01:00
Cosimo Lupo
7dbe476f64
pens_test.py: fix test failure with latest defcon
...
somehow the segmentType of the first move point of a contour is a unicode string now, and the test was comparing the repr...
2018-09-05 19:20:37 +01:00
pyup-bot
486e774a4f
Update defcon from 0.3.5 to 0.5.2
2018-09-03 17:06:10 +02:00
pyup-bot
4ece836a22
Update ufolib from 2.1.1 to 2.3.1
2018-09-03 17:06:09 +02:00
pyup-bot
bd9e50ad7e
Update fonttools from 3.22.0 to 3.29.0
2018-09-03 17:06:07 +02:00
Cosimo Lupo
dc44ddecbc
Add .pytest_cache/ to .gitignore
2018-06-12 11:13:45 +01:00
Cosimo Lupo
91f29893a9
setup.py: fix issue with False boolean options in bump_version command
...
when self.sign_tags is False, we were passing '--sign-tags False' to bumpversion script.
The boolean option with False value should be omitted instead.
2018-04-11 12:02:09 +01:00
Cosimo Lupo
81878eef6b
Bump version: 1.5.0 → 1.5.1.dev0
2018-04-11 12:01:33 +01:00
Cosimo Lupo
7e9043a61e
Release 1.5.0
2018-04-10 21:48:46 +01:00
Cosimo Lupo
5b59be68fb
Bump version: 1.4.1.dev0 → 1.5.0.dev0
2018-04-10 21:25:19 +01:00
Cosimo Lupo
bda1884b8b
cli_test: test -e and --keep-direction options
2018-04-10 21:24:39 +01:00
Cosimo Lupo
ccdf7ad140
cli: add -e/--conversion-error and --keep-direction options
2018-04-10 21:24:15 +01:00
Cosimo Lupo
b072f0ab5e
Merge pull request #126 from anthrotype/cli
...
skip converting twice; add 'cu2qu' console script
2018-04-10 22:06:54 +02:00
Cosimo Lupo
2e2353621e
add cli_test.py
2018-04-10 21:04:48 +01:00
Cosimo Lupo
b93782d6b0
ufo_test: add tests for 'remember_curve_type' arg
2018-04-10 21:04:35 +01:00
Cosimo Lupo
06c4d5973b
cli: minor
2018-04-10 21:04:05 +01:00