Skip to main content

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

GitHub tag (with filter) Static Badge Static Badge Static Badge

PyPI - Version PyPI - Format Static Badge Static Badge PyPI - Python Version Static Badge PyPI - Implementation

GitHub License Static Badge

!!! 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cengalpolybuild-0.0.1.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

cengalpolybuild-0.0.1-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

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

Hashes for cengalpolybuild-0.0.1.tar.gz
Algorithm Hash digest
SHA256 92dc756437b94af427d046011837a7d03a217038c7f5c3129a309123e1d9bdf7
MD5 fc7e4977e5e9012ede1012ce9c04fa7e
BLAKE2b-256 928f92921e217bc20f17c928c29de7b7a0248c4b324741bb39e2ea082d907550

See more details on using hashes here.

File details

Details for the file cengalpolybuild-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cengalpolybuild-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 28d6eadaf3f9ef2594286cf2ab8ab146da71f031404077cd8e7998869f578b5d
MD5 ddfa1530e56c384d079400f7c72cd1ad
BLAKE2b-256 8b96b5d24281fd4f671e13656b8ca2cb213859f33b2374ef2fab201caccd61ac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page