Matthias Koefferlein
61a61a2a5a
WIP: added lib module to qmake-based python module build
...
This works:
import klayout.db
import klayout.lib
print(klayout.db.Library.library_names()) # says ["Basic"]
Also works:
from klayout import *
Does not work:
# import klayout.lib needs to be done before the libraries
# are used initially
import klayout.db
print(klayout.db.Library.library_names()) # says []
import klayout.lib
print(klayout.db.Library.library_names()) # says []
2019-04-03 01:07:22 +02:00
Matthias Koefferlein
b0d7f5f7f5
Updated copyright.
2019-01-08 00:58:45 +01:00
Thomas Ferreira de Lima
6b37e67de6
fixing pya module. adding tests
2018-12-20 16:10:55 -05:00
Matthias Koefferlein
a36cf6a2e5
Force relink of pymod/tl to trigger correct build for MSVC
2018-11-18 22:57:17 +01:00
Matthias Koefferlein
7ade9cf079
Added standard Python tests to pymod too
...
This will include the normal Python tests also
in pymod, hence aligning the test base for pymod
and pya.
This feature requires the pya compatibility module.
2018-11-18 22:42:13 +01:00
Matthias Koefferlein
00a124ce64
Added pya compatibility module
2018-10-23 23:43:52 +02:00
Matthias Koefferlein
863144603c
Fixed MSVC builds ...
2018-10-22 23:48:15 +02:00
Matthias Koefferlein
58239650aa
Fixed pymod initialization for Python 2
...
Python 2 is a bit more picky with respect to
the correct name of the module. If passing "db"
to a module called dbcore, it will exit with
a SystemError.
2018-10-22 23:28:55 +02:00
Matthias Koefferlein
a25db86046
Fixed pymod.pri for Linux builds.
2018-10-22 21:25:53 +02:00
Matthias Koefferlein
b80ce12c12
Some refactoring to fix qmake-based pymod builds
...
- Unify structure of Python module sources so the pymod.pri can be used for all modules
- switch to tlcore, dbcore and rdbcore + distutils_src wrapper modules
2018-10-22 20:53:49 +02:00
Thomas Ferreira de Lima
c1dbb023ae
fixing editable install 'python setup.py develop'
2018-10-19 19:09:20 -04:00
Thomas Ferreira de Lima
c3ab951c8a
passing python unit tests
2018-10-19 19:02:38 -04:00
Thomas Ferreira de Lima
87a49007ff
Fixing distutils_src folder structure due to setuptools bug
...
Also: adding PCellDeclarationHelper to klayout.db
2018-10-19 18:53:37 -04:00
Thomas Ferreira de Lima
d3fa4465f6
Renaming core modules to klayout.dbcore, klayout.rdbcore and klayout.tlcore
2018-10-19 17:55:56 -04:00
Matthias Koefferlein
222b98fd70
Some fixes for the testsuite
...
With these fixes, unit tests pass with MacOS
(set DYLD_LIBRARY_PATH!)
1.) MacOS takes popen vs. pclose seriously
By using fopen we basically spoil the system and other popen
won't work.
2.) For system integrity, MacOS does not propagate DYLD_LIBRARY_PATH
to child processes such as sh. This has to be done explictly.
3.) Search the klayout binary in the right path (klayout.app/...)
4.) Reset KLAYOUT_HOME for less intervention by installed macros
2018-10-09 13:57:26 -07:00
Matthias Köfferlein
fe26785203
Fixed install target for MSVC - copy needs to use Windows paths.
2018-09-13 22:31:45 +02:00
Matthias Koefferlein
ad03533a7b
OASIS tests made robust against hash implementation
...
The text writer was made "normalizing": it will introduce
a certain element order (string sorting). This way, OASIS
files can be compared against golden data without
changes in the order due to different implementation of
hash containers.
2018-09-10 01:16:49 +02:00
Matthias Köfferlein
5be469af90
Support "klayout-bits" for building on MSVC
2018-09-06 00:23:10 +02:00
Matthias Köfferlein
356a468d66
A couple of changes to make MSVC work - not done yet.
2018-09-02 00:40:35 +02:00
Matthias Köfferlein
af50c0f0c3
Many warnings fixed for MSVC
2018-08-29 01:46:18 +02:00
Matthias Köfferlein
860014e3ae
MSVC builds for the first time - still a lot of patches required
...
Some suspicious compiler warnings remain.
2018-08-28 23:19:58 +02:00
Matthias Koefferlein
9dcfa140c3
Added __init__.py file to Python package.
2018-07-15 19:33:44 +00:00
Matthias Koefferlein
5351922440
Enabled minimum build configuration
...
Minimum build configuration is without Qt, Ruby, curl and expat.
Only Python is required.
This commit also provides a functional (through polling) Qt-less HTTP
implementation through libcurl if enabled.
2018-07-15 19:59:45 +02:00
klayoutmatthias
6858190a20
Fixed Windows build and tests
...
* tl::is_same_file works with directories now too
* Unit tests added for this
* bridge_mod sample produces the proper DLL now
2018-07-15 18:03:42 +02:00
Matthias Koefferlein
fc9783432b
Bugfix: db_plugin modules were not loaded for python modules
...
* Added unit test for this
* Provided an option for easier debugging such issues:
Setting env var KLAYOUT_VERBOSITY will enable debug levels on Python
modules (and all other binaries). Plugin loading issues can
be debugged by setting KLAYOUT_VERBOSITY=21.
2018-07-15 14:14:14 +02:00
Matthias Koefferlein
937fa96245
Some bug fixes
...
* Case folding table fixed: lowercase "i without dot" overlaps "i"
* Fixed build of bridge sample in non-Qt case
2018-07-13 08:03:00 +02:00
klayoutmatthias
616c2942e1
WIP: made pymod functional on Windows (without Qt). Tests pass.
2018-07-10 23:34:30 +02:00
Matthias Koefferlein
d2c890ab6d
WIP: fixed unit tests for Qt-less build.
2018-07-10 01:17:35 +02:00
Matthias Koefferlein
ad7a9836b0
Using pipes instead of QProcess for pymod tests, enable pipes on Windows (needs testing)
2018-07-04 20:26:34 +02:00
Matthias Koefferlein
ab06ce3445
Made the code build without Qt.
2018-07-03 01:08:02 +02:00
Matthias Koefferlein
a82adbbe83
Massive reduction of Qt dependencies, but also massive refactoring.
2018-07-03 00:51:36 +02:00
Matthias Koefferlein
94a4c0df27
WIP: added force-link to rdb Python module so the rdb library is always linked
2018-06-22 00:02:27 +02:00
Matthias Koefferlein
c2341ff213
WIP: speedup for CI development, fixed deb package (python needs to be part of dependency), fixed gcc build with Python3
2018-06-21 22:18:17 +02:00
Matthias Koefferlein
0d6da0e49d
WIP: fixed unit test fails with python module import tests - what a hack ...
2018-06-20 23:19:26 +02:00
Matthias Koefferlein
087740d326
WIP: pass sub-process output through tl::Log in unit tests for proper XML escaping into JUnit files.
2018-06-20 22:25:03 +02:00
Matthias Koefferlein
4dc0065028
WIP: fixed installation target for pymod __init__.py file for older Qt versions.
2018-06-20 13:37:41 +02:00
Matthias Koefferlein
e447c175d8
WIP: fixed pymod install targets for some Qt versions
2018-06-20 08:25:13 +02:00
Matthias Koefferlein
33a9782f77
Proper installation target for klayout Python module.
2018-06-19 01:07:53 +02:00
Matthias Koefferlein
8845d18c74
Renamed pykl to klayout - because of name clash with the klayout binary, the python module now sits inside 'pymod'
2018-06-19 00:50:27 +02:00
Matthias Koefferlein
4744c90557
WIP: futher fixes for Windows build.
2018-06-18 00:19:18 +02:00
Matthias Koefferlein
741e9d73e3
WIP: fixed build
2018-06-17 19:09:54 +02:00
Matthias Koefferlein
757c6af80f
WIP: rdb module for Python, fixed unit tests for non-Qt bindings case
2018-06-15 22:49:01 +02:00
Matthias Koefferlein
acacdc3997
Included ext definitions in Python module (currently: lay)
2018-06-10 21:45:58 +02:00
Matthias Koefferlein
7f2e740dd4
WIP: some refactoring of pya to reduce dependency on GSI for bridge applications.
2018-06-09 10:32:26 +02:00
Matthias Koefferlein
d938bb999b
WIP: modifications for Python 3
2018-06-09 09:42:13 +02:00
Matthias Koefferlein
e1858973e2
Added unit test for briding sample lib.
2018-06-09 02:11:32 +02:00
Matthias Koefferlein
9418185771
WIP: added sample lib with bridging code
2018-06-09 01:52:13 +02:00
Matthias Koefferlein
2737e14b13
WIP: some refactoring of the GSI Python binding (less static objects, new conversion operators, preparations for external use)
2018-06-09 01:50:16 +02:00
Matthias Koefferlein
eca8697398
WIP: some refactoring of pya binding and data keeping. Added more conversion functions for use in external code. Needs testing.
2018-06-07 01:05:36 +02:00
Matthias Koefferlein
17846d12dd
WIP: fixed installation part for pykl module, robustness of build system.
2018-06-06 21:27:18 +02:00