Skip to main content

Flyable is a Python compiler that generates optimized native code to improve the performance of Python workloads.

Project description

Flyable

License: AGPL v3 LLVM version Python version Discord Twitter Follow

A Python compiler for highly performant code.

Check the website for more information.

Introduction

Welcome to the official Flyable PyPI page! 😊🎉🥳

Flyable is a Python just-in-time compiler that generates optimized native code to decrease Python workloads.

Flyable works hand in hand with the interpreter in the sense that when Flyable can compile a function or method it does so and the interpreter executes that compiled function at runtime and otherwise Flyable lets the interpreter interpret this function or method.

Benchmarks

Detailed benchmarks to come soon! You can see previous benchmarks here.

Supported platforms

Flyable currently supports the following OS and architectures:

🪟 x86 instructions that run on Windows 64 bits.

🍎 ARM instructions that run on MacOS 64 bits.

🐧 x86 instructions that run on Linux 64 bits.

32 bits support isn’t planned in the near future.

Getting Started

All you will need is a working CPython installation (do not run Flyable inside a venv) and some Python code to compile. Simply install Flyable on your computer using the pip command pip install flyable and you will be ready to start using Flyable! Once this is done add these two lines in your python code:

import flyable
flyable.run(email="your.email@domain")

Now if you run your code, Flyable will compile it and execute it. Since we are still working on the beta version, we collect emails in order to ask for feedback. We will only use your email for this purpose and will not share it with anybody else.

How does it get faster ?

Flyable does multiple things to generate efficient code but most of the performance gains come from the following:

  • Native execution of the code
  • Static function dispatch (enabling direct call and efficient inlining)
  • Type tracking (When possible)
  • Function specialization depending on the signature but also on the usage

Roadmap

Our work is currently focused on integrating new optimizations and getting the compiler to support more syntactic features in order to increase the proportion of functions and methods that are compiled. 🛣️🚗

Contributions

If you want to participate and/or support the active development of Flyable:

Keep in touch

  • If you have any technical question, you can write a question on Stack Overflow.
  • Follow us on Twitter or LinkedIn.
  • Feel free to contact us on Discord or at contact@flyable.dev if you have any other concerns.

Licence

Flyable is licensed under the GNU Affero General Public License v3.0 .

Acknowledgments

🐉 LLVM is one of the powerful optimizing machines running under the hood.

🐍 CPython is ubiquitous in this project.

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

flyable-0.0.1.3.tar.gz (81.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flyable-0.0.1.3-py3-none-any.whl (87.1 MB view details)

Uploaded Python 3

File details

Details for the file flyable-0.0.1.3.tar.gz.

File metadata

  • Download URL: flyable-0.0.1.3.tar.gz
  • Upload date:
  • Size: 81.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0b3

File hashes

Hashes for flyable-0.0.1.3.tar.gz
Algorithm Hash digest
SHA256 839b60ee79f5f7b2e111fcf85676bb57e5a63fffc2a43d562f0a1ae5eafe9f8b
MD5 6ddc4e374b16946523aefb2a3e66267f
BLAKE2b-256 4657f320f3fb1ee047cfaf287681bc1c8a99e2c191cd4eff1b029f7ccac5d12e

See more details on using hashes here.

File details

Details for the file flyable-0.0.1.3-py3-none-any.whl.

File metadata

  • Download URL: flyable-0.0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 87.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0b3

File hashes

Hashes for flyable-0.0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 54b92eda00ac3b76b6b4fee8ca2789c32321e02cd8df1ece0732040eea555487
MD5 2d90a3aa1502c5836aba343b94541357
BLAKE2b-256 710afb44d62448d729594baab73535f1a445adbbecbc3675956742a99df12f39

See more details on using hashes here.

Supported by

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