Commit Graph

97 Commits

Author SHA1 Message Date
Matthias Koefferlein f5fd47bd4b Fixed standalone Python module builds 2023-03-12 00:53:42 +01:00
Matthias Koefferlein 6db6e77458 Tired of patching around __version__ ...
This doesn't work. Either Python is too old, import_metadata
isn't there or Azure pipelines do not support that.
Stopping that. Good old plain C++ is still the best solution.
Take that dynamic language hackers!
2023-03-01 00:50:30 +01:00
Matthias Koefferlein c5d6889721 Trying to fix Azure builds 2023-02-28 23:32:16 +01:00
Thomas Ferreira de Lima 67fb262df6 downgrading importlib_metadata to 4.8.3 (last version to support python 3.6 2023-02-17 09:32:53 -05:00
Thomas Ferreira de Lima 094768997f backporting importlib.metadata for python<3.8 2023-02-15 10:14:55 -05:00
Thomas Ferreira de Lima 81504ecd9b autodetecting libpng installation on macos 2023-02-11 17:55:01 -05:00
Sebastian Goeldi e759e631ff fix setup.py to include py.typed in wheel and other installations 2023-01-30 19:55:30 -08:00
Matthias Koefferlein a85dbd3d31 Updating copyright notice to 2023 2023-01-01 22:27:22 +01:00
Sebastian Goeldi d30199fe26 create py.typed for python module (PEP 561) 2022-12-12 17:09:50 +01:00
Matthias Koefferlein 327345f5ca Fixed Windows Python module builds 2022-11-11 22:07:07 +01:00
Matthias Koefferlein fbd4c84d84 Refactoring of pya/rba/expressions
Goal is to support "*!" which is a variant of multiplication
without the commutative nature.

The refactoring yields a more consistent handling of
Python specializations. Now this happens when the methods
are collected, rather than later. This way, specific behavior
for identically named synonyms can be implemented for example.
This is the case for the "*" operator in Trans which is partially
commutative and partially not.
2022-10-20 23:26:14 +02:00
Matthias Koefferlein c012bb846e Cherry-picked Python type hint enhancements from master 2022-10-19 22:13:03 +02:00
Thomas Ferreira de Lima 4d4f4b643b Added python stubs with type hinting and documentation. (#1125)
* Added python stubs with type hinting and documentation.

The documentation was extracted by inspecting the docstrings within each class and methods.
This should enable type hinting and checking by IDEs like VSCode.
The stubs were automatically generated, and have not been manually curated. (TODO)

* created tl ArgType to python type translator

* Fixing a pyaModule.cc bug

* almost finished stubgen

* fixing little bug in classes defined within classes

* Release version of the stubgen script. Good enough for release.

* Adding notes

* Including stubs when installing from source

* typechecking bugfix: missed checking is_iter()

* Cleaning up unused code for merge review

* Including stubs when installing from source (part deux)

* Putting the GenericDeviceExtractor name setting into the right place.

* Updating python stubs

Co-authored-by: Matthias Koefferlein <matthias@koefferlein.de>
2022-09-01 00:41:42 +02:00
Matthias Koefferlein ef8f4fbba5 Fixed setup.py after refactoring 2022-06-01 07:41:29 +02:00
Matthias Koefferlein 1f24458acd Fixed setup.py (from defines) 2022-05-16 23:08:02 +02:00
Matthias Koefferlein b352ec4933 Specific name for libpng in setup.py to match all platforms 2022-05-16 21:48:37 +02:00
Matthias Koefferlein b5c3d6981b Adjusted setup.py to klayout-microbits-4.0 2022-05-16 21:14:23 +02:00
Matthias Koefferlein 104975a14e WIP: fixed pymod 2022-05-15 19:34:46 +02:00
Matthias Koefferlein 856635bc82 WIP: debugging, enabled pymod builds ... 2022-05-15 18:45:07 +02:00
Matthias Koefferlein 5facc418cb WIP: futher improvements on Python module for Qt-less case 2022-05-12 23:42:21 +02:00
Matthias Koefferlein b2b5e5ad55 Modifications to enable building of Qt-less canvas in setup.py 2022-05-12 01:53:16 +02:00
Matthias Köfferlein 5929ea3bc6
Applied patch as discussed in #1040 (#1045)
* Applied patch as discussed in #1040

* Adding extra compilation flags to extensions #1040

tlcore, dbcore and libcore did not have compilation flags.
It failed compiling on Macos because it did not use C++11.

Co-authored-by: Thomas Ferreira de Lima <tlima@princeton.edu>
2022-04-02 16:07:25 +02:00
Matthias Koefferlein 4da7fd6323 Updated setup.py title for PyPI 2022-02-05 10:28:27 +01:00
Matthias Koefferlein 10456516db Updated copyright to 2022, preparations for 0.27.6 (was delayed due to code signing certificate issues) 2022-01-04 21:20:04 +01:00
Matthias Koefferlein ea1bf40a1e Using Jenkins for PyPI deployment. Travis stopped their generous open source support 2021-10-30 18:45:44 +02:00
Matthias Köfferlein b303548591
Issue 886 (python module does not build from sources) (#896)
* Added cc_gen to manifest file

* Added lib sources to manifest
2021-08-24 21:36:51 +02:00
Matthias Koefferlein caa601fe68 Provide version #defines for setup.py too 2021-02-01 22:57:55 +01:00
Matthias Koefferlein 7d4310d343 Updated copyright to 2021 2021-01-05 22:57:48 +01:00
Matthias Koefferlein 07d2eeaa3b Various updates for Python 3.9 and more MacOS support, inherited from 0.26. 2020-11-28 22:15:44 +01:00
Matthias Koefferlein 14e5603499 Another test - maybe a fix 2020-09-10 00:14:28 +02:00
Matthias Koefferlein b8c82c4f8b Updated copyright notice to 2020 2020-01-05 00:59:43 +01:00
Matthias Koefferlein 1c7d104e63 Removed data_files from setup.py - does not provide the files in the right path. 2019-11-12 02:28:58 +01:00
Matthias Koefferlein 74780e0197 Take out MSVCRT from setup.py because I don't know where to take it from on Azure hosts. 2019-11-12 01:44:19 +01:00
Matthias Koefferlein e81dde46fe Wrong name of zlib.dll (needs to be zlib1.dll). 2019-11-12 01:12:48 +01:00
Matthias Koefferlein 1f0067a2c7 Attempt to fix Windows build of Python module. 2019-11-12 01:10:50 +01:00
Matthias Koefferlein f13bb771cd Provide a separate version for PyPI inside version.sh 2019-11-12 00:04:40 +01:00
Matthias Koefferlein 803e7a385d Taking KLayout version from version.sh for Python module build. 2019-11-09 00:34:15 +01:00
Matthias Koefferlein 4462ef8db6 Updated release version in setup.py 2019-09-09 23:08:30 +02:00
Matthias Koefferlein 8bccdbf7a0 pypi release 0.26.0.dev16 2019-06-18 19:09:34 +02:00
Thomas Ferreira de Lima e68047733f
pymod 0.26.0.dev15 - included basic.lib 2019-04-04 14:57:08 -04:00
Matthias Köfferlein 6be05609e8
Merge pull request #255 from KLayout/issue-252
Issue 252
2019-04-04 07:31:51 +02:00
Matthias Koefferlein 86447506fd Fixed #252 - updated setup.py and pipelines. 2019-04-03 18:31:05 +02:00
Thomas Ferreira de Lima c5ea287158
Stripping shared object for linux pymod 2019-04-02 22:39:12 -04:00
Thomas Ferreira de Lima 70e6d70988
pymod deployment to pypi through travis 2019-04-02 19:46:40 -04:00
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 14e2d9f632 Updated version in setup.py to trigger PyPI update. 2019-03-29 00:56:44 +01:00
Matthias Koefferlein 522156b467 Renamed generated .cc files (fonts, glyphs) so they don't need to be excluded in pymod builds. 2019-03-22 07:26:51 +01:00
Thomas Ferreira de Lima 0e6c023062
bumping python version to 0.26.0.dev12 2019-02-04 11:45:54 -05:00
Matthias Koefferlein d2d28bc613 Merge branch 'master' of https://github.com/KLayout/klayout 2019-01-08 00:59:09 +01:00
Matthias Koefferlein b0d7f5f7f5 Updated copyright. 2019-01-08 00:58:45 +01:00