A Comprehensive and Hackable Build System for Multilingual Python Packages: Cython (including automatic conversion from Python to Cython), C/C++, Objective-C, Go, and Nim, with ongoing expansions to include additional languages
Project description
!!! A placeholder to preserve the name. The release of the project is expected very soon.
CengalPolyBuild: A Comprehensive and Hackable Build System for Multilingual Python Packages
Our build system offers an automatic, customizable framework tailored for Python packages that incorporate modules in various programming languages. It is specifically designed to support Cython (including automatic conversion from Python to Cython), C/C++, Objective-C, Go, and Nim, with ongoing expansions to include additional languages.
Key Features:
- Automatic Compilation: Seamlessly compiles your code and gathers binary artifacts to integrate into your Python wheel.
- Module Management: Provides templates for easy management of project modules. You can add, rename, or move modules within the project tree effortlessly.
- License Management: Automates the download of license texts based on specified names and inserts license headers directly into your source files.
- Version Management: Facilitates the tracking and updating of version numbers in your sources, ensuring consistency across your project.
This build system is designed to simplify the development process, enhance productivity, and ensure your project adheres to licensing and versioning standards effectively.
Based on Cengal
This is a stand-alone package for a specific Cengal module. Package is designed to offer users the ability to install specific Cengal functionality without the burden of the library's full set of dependencies.
The core of this approach lies in our 'cengal-light' package, which houses both Python and compiled Cengal modules. The 'cengal' package itself serves as a lightweight shell, devoid of its own modules, but dependent on 'cengal-light[full]' for a complete Cengal library installation with all required dependencies.
An equivalent import:
</code></pre>
<p>Cengal library can be installed by:</p>
<pre lang="bash"><code>pip install cengal
https://github.com/FI-Mihej/Cengal
https://pypi.org/project/cengal/
Projects using Cengal
- CengalPolyBuild - A Comprehensive and Hackable Build System for Multilingual Python Packages: Cython (including automatic conversion from Python to Cython), C/C++, Objective-C, Go, and Nim, with ongoing expansions to include additional languages. (Planned to be released soon)
- InterProcessPyObjects - High-performance package delivers blazing-fast inter-process communication through shared memory, enabling Python objects to be shared across processes with exceptional efficiency.
- cengal_app_dir_path_finder - A Python module offering a unified API for easy retrieval of OS-specific application directories, enhancing data management across Windows, Linux, and macOS
- cengal_cpu_info - Extended, cached CPU info with consistent output format.
- cengal_memory_barriers - Fast crossplatform memory barriers for Python.
- flet_async - wrapper which makes Flet async and brings booth Cengal.coroutines and asyncio to Flet (Flutter based UI)
- justpy_containers - wrapper around JustPy in order to bring more security and more production-needed features to JustPy (VueJS based UI)
- Bensbach - decompiler from Unreal Engine 3 bytecode to a Lisp-like script and compiler back to Unreal Engine 3 bytecode. Made for a game modding purposes
- Realistic-Damage-Model-mod-for-Long-War - Mod for both the original XCOM:EW and the mod Long War. Was made with a Bensbach, which was made with Cengal
- SmartCATaloguer.com - TagDB based catalog of images (tags), music albums (genre tags) and apps (categories)
License
Copyright © 2012-2024 ButenkoMS. All rights reserved.
Licensed under the Apache License, Version 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cengalpolybuild-0.0.1.tar.gz
.
File metadata
- Download URL: cengalpolybuild-0.0.1.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92dc756437b94af427d046011837a7d03a217038c7f5c3129a309123e1d9bdf7 |
|
MD5 | fc7e4977e5e9012ede1012ce9c04fa7e |
|
BLAKE2b-256 | 928f92921e217bc20f17c928c29de7b7a0248c4b324741bb39e2ea082d907550 |
File details
Details for the file cengalpolybuild-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: cengalpolybuild-0.0.1-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28d6eadaf3f9ef2594286cf2ab8ab146da71f031404077cd8e7998869f578b5d |
|
MD5 | ddfa1530e56c384d079400f7c72cd1ad |
|
BLAKE2b-256 | 8b96b5d24281fd4f671e13656b8ca2cb213859f33b2374ef2fab201caccd61ac |