Commit Graph

85 Commits

Author SHA1 Message Date
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
Thomas Ferreira de Lima df7f3de1a1
adding classifiers to setup.py
I read in the PyPI user manual it was recommended.
2019-01-04 15:45:27 -05:00
Thomas Ferreira de Lima 7deea27069
changing version to 0.26.0.dev11, release pypi wheels after merging #218 2019-01-02 13:51:18 -05:00
Thomas Ferreira de Lima 8495a18023
changing version to 0.26.0.dev10 2018-12-20 16:10:55 -05:00
Thomas Ferreira de Lima f1e292373f
Changing version to 0.26.0.dev9 for CD tests 2018-12-20 16:10:55 -05:00
Thomas Ferreira de Lima b06fe5817d
ThreadPool.imap stopped working in py 3.7.1 2018-12-18 18:07:26 -05:00
Matthias Koefferlein 304cd20bc7 Updated dev version in setup.py to force PyPI deployment 2018-11-24 01:02:04 +01:00
Matthias Köfferlein 1150ffbbb1
Merge branch 'pymod' into pymod-splitting 2018-10-22 18:15:02 +02:00
Thomas Ferreira de Lima ecc90ab4db
attempt to solve the libname_of computation for all platforms 2018-10-20 23:46:12 -04:00
Thomas Ferreira de Lima a0c3b095a2
fixing dbpi library names 2018-10-20 17:21:00 -04:00
klayoutmatthias 79871f6bab Fixed setup.py for Linux (and maybe for MacOS too)
- Added "lib" prefix for libraries
- Forced setuptools to produce shared objects for the
  libraries - otherwise it will produce static libs
2018-10-20 20:44:56 +00: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