Name | flitter-lang JSON |
Version |
1.0.0b22
JSON |
| download |
home_page | None |
Summary | Flitter is a functional programming language and declarative system for describing 2D and 3D visuals |
upload_time | 2024-12-07 09:22:55 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | Copyright (c) 2024, Jonathan Hogg All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
keywords |
language
opengl
live-coding
live-visuals
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
![Screenshot from a Flitter program showing colourful distorted ellipse shapes
with trails moving outwards from the centre of the screen.](https://github.com/jonathanhogg/flitter/raw/main/docs/header.jpg)
# Flitter
[![CI lint](https://github.com/jonathanhogg/flitter/actions/workflows/ci-lint.yml/badge.svg?)](https://github.com/jonathanhogg/flitter/actions/workflows/ci-lint.yml)
[![CI test](https://github.com/jonathanhogg/flitter/actions/workflows/ci-test.yml/badge.svg?)](https://github.com/jonathanhogg/flitter/actions/workflows/ci-test.yml)
[![CI coverage](https://gist.githubusercontent.com/jonathanhogg/b7237d8b4e7ff50c3f284cb939e949d0/raw/badge.svg?)](https://github.com/jonathanhogg/flitter/actions/workflows/ci-coverage.yml)
[![docs](https://readthedocs.org/projects/flitter/badge/?version=latest)](https://flitter.readthedocs.io/en/latest/?badge=latest)
**Flitter** is a functional programming language and declarative system for
describing 2D and 3D visuals. It is designed to encourage an iterative,
explorative, play-based approach to constructing visuals.
[The language](https://flitter.readthedocs.io/en/latest/language.html) supports
the basic range of functional language features: first-class recursive and
anonymous functions, comprehensions, let/where, conditional expressions, lists
("vectors"). However, unusually, all values are vectors and all operators are
element-wise, and the language is built around constructing trees of attributed
nodes. The language is designed to be familiar to Python programmers.
The engine is able to live reload all code and assets (including any shaders,
images, videos, models, etc.) while retaining the current system state - thus
supporting live-coding. It also has support for interacting with running
programs via MIDI surfaces (plus basic pointer and keyboard support).
**Flitter** is implemented in a mix of Python and Cython and requires at least
OpenGL 3.3 (Core Profile) or OpenGL ES 3.0. At least Python 3.10 is also
required as the code uses `match`/`case` syntax.
**Flitter** is designed for expressivity and ease of engine development over
raw performance, but is fast enough to be able to do interesting things.
The engine that runs the language is capable of:
- [2D drawing](https://flitter.readthedocs.io/en/latest/canvas.html) (loosely
based on an HTML canvas/SVG model)
- [3D rendering](https://flitter.readthedocs.io/en/latest/canvas3d.html),
including:
- primitive box, sphere, cylinder and cone shapes
- external triangular mesh models in a variety of formats including OBJ
and STL
- planar trimming, union, difference and intersection of solid models
- construction of meshes from signed distance fields, including common
combinators and blending functions, and the ability to specify custom
functions
- ambient, directional, point/sphere, line/capsule and spotlight sources
(currently shadowless)
- multiple (simultaneous) cameras with individual control over location,
field-of-view, clip planes, render buffer size, color depth, MSAA samples,
perspective/orthographic projection, fog, conversion to monochrome and
colour tinting
- PBR forward-rendering pipeline with emissive objects, transparency and
translucency, plus the ability to plug in custom GLSL shaders for arbitrary
groups of objects
- texture mapping, including with the output of other visual units (e.g., a
drawing canvas or a video)
- simulating [physical particle
systems](https://flitter.readthedocs.io/en/latest/physics.html), including
spring/rod/rubber-band constraints, gravity, electrostatic charge, adhesion,
buoyancy, inertia, drag (including in flowing media), Brownian motion,
uniform electric fields, barriers and particle collisions
- [playing videos](https://flitter.readthedocs.io/en/latest/windows.html#video)
at arbitrary speeds (including in reverse)
- running [GLSL
shaders](https://flitter.readthedocs.io/en/latest/shaders.html) as
stacked image filters and generators, with per-frame control of arbitrary
uniforms, and support for multi-pass and downsampling
- built-in filters for: scaling/translating/rotating, Gaussian blurring, bloom,
edge detection, vignetting, video feedback, lens flares, color and exposure
adjustments, tone-mapping with the Reinhard and ACES Filmic functions, and 2D
noise-map generation
- compositing all of the above and rendering to one or more windows
- [saving rendered
output](https://flitter.readthedocs.io/en/latest/windows.html#record) to
image and video files (including lockstep frame-by-frame video output
suitable for producing perfect loops and direct generation of animated GIFs)
- taking live inputs from Ableton Push 2 or Behringer X-Touch mini MIDI
surfaces (other controllers relatively easy to add)
- driving arbitrary DMX fixtures via an Entec-compatible USB DMX interface
- driving a LaserCube plugged in over USB (other lasers probably easy-ish to
support)
**Flitter** also has a plug-in architecture that allows extension with new
image and 3D mesh generators, MIDI and DMX interfaces, or completely novel
input and output systems.
## Installation
**Flitter** can be installed from the [`flitter-lang` PyPI
package](https://pypi.org/project/flitter-lang/) with:
```sh
pip3 install flitter-lang
```
and then run as:
```sh
flitter path/to/some/flitter/script.fl
```
More details can be found in the [installation
documentation](https://flitter.readthedocs.io/en/latest/install.html).
## Documentation
The documentation is available on [**Read** *the*
**Docs**](https://flitter.readthedocs.io/).
There are a few quick
[examples](https://github.com/jonathanhogg/flitter/blob/main/examples)
in the main repository. However, there is also a separate repo containing [many
more interesting examples](https://github.com/jonathanhogg/flitter-examples)
that are worth checking out.
## License
**Flitter** is copyright © Jonathan Hogg and licensed under a [2-clause
"simplified" BSD
license](https://github.com/jonathanhogg/flitter/blob/main/LICENSE)
except for the OpenSimplex 2S noise implementation, which is based on
[code](https://code.larus.se/lmas/opensimplex) copyright © A. Svensson and
licensed under an [MIT
license](https://code.larus.se/lmas/opensimplex/src/branch/master/LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "flitter-lang",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Jonathan Hogg <me@jonathanhogg.com>",
"keywords": "language, opengl, live-coding, live-visuals",
"author": null,
"author_email": "Jonathan Hogg <me@jonathanhogg.com>",
"download_url": "https://files.pythonhosted.org/packages/e2/8d/79bd225ce6003803ed25be92624e98cf9b0c8293eb0404787d922ba13888/flitter_lang-1.0.0b22.tar.gz",
"platform": null,
"description": "![Screenshot from a Flitter program showing colourful distorted ellipse shapes\nwith trails moving outwards from the centre of the screen.](https://github.com/jonathanhogg/flitter/raw/main/docs/header.jpg)\n\n# Flitter\n\n[![CI lint](https://github.com/jonathanhogg/flitter/actions/workflows/ci-lint.yml/badge.svg?)](https://github.com/jonathanhogg/flitter/actions/workflows/ci-lint.yml)\n[![CI test](https://github.com/jonathanhogg/flitter/actions/workflows/ci-test.yml/badge.svg?)](https://github.com/jonathanhogg/flitter/actions/workflows/ci-test.yml)\n[![CI coverage](https://gist.githubusercontent.com/jonathanhogg/b7237d8b4e7ff50c3f284cb939e949d0/raw/badge.svg?)](https://github.com/jonathanhogg/flitter/actions/workflows/ci-coverage.yml)\n[![docs](https://readthedocs.org/projects/flitter/badge/?version=latest)](https://flitter.readthedocs.io/en/latest/?badge=latest)\n\n**Flitter** is a functional programming language and declarative system for\ndescribing 2D and 3D visuals. It is designed to encourage an iterative,\nexplorative, play-based approach to constructing visuals.\n\n[The language](https://flitter.readthedocs.io/en/latest/language.html) supports\nthe basic range of functional language features: first-class recursive and\nanonymous functions, comprehensions, let/where, conditional expressions, lists\n(\"vectors\"). However, unusually, all values are vectors and all operators are\nelement-wise, and the language is built around constructing trees of attributed\nnodes. The language is designed to be familiar to Python programmers.\n\nThe engine is able to live reload all code and assets (including any shaders,\nimages, videos, models, etc.) while retaining the current system state - thus\nsupporting live-coding. It also has support for interacting with running\nprograms via MIDI surfaces (plus basic pointer and keyboard support).\n\n**Flitter** is implemented in a mix of Python and Cython and requires at least\nOpenGL 3.3 (Core Profile) or OpenGL ES 3.0. At least Python 3.10 is also\nrequired as the code uses `match`/`case` syntax.\n\n**Flitter** is designed for expressivity and ease of engine development over\nraw performance, but is fast enough to be able to do interesting things.\n\nThe engine that runs the language is capable of:\n\n- [2D drawing](https://flitter.readthedocs.io/en/latest/canvas.html) (loosely\n based on an HTML canvas/SVG model)\n- [3D rendering](https://flitter.readthedocs.io/en/latest/canvas3d.html),\n including:\n - primitive box, sphere, cylinder and cone shapes\n - external triangular mesh models in a variety of formats including OBJ\n and STL\n - planar trimming, union, difference and intersection of solid models\n - construction of meshes from signed distance fields, including common\n combinators and blending functions, and the ability to specify custom\n functions\n - ambient, directional, point/sphere, line/capsule and spotlight sources\n (currently shadowless)\n - multiple (simultaneous) cameras with individual control over location,\n field-of-view, clip planes, render buffer size, color depth, MSAA samples,\n perspective/orthographic projection, fog, conversion to monochrome and\n colour tinting\n - PBR forward-rendering pipeline with emissive objects, transparency and\n translucency, plus the ability to plug in custom GLSL shaders for arbitrary\n groups of objects\n - texture mapping, including with the output of other visual units (e.g., a\n drawing canvas or a video)\n- simulating [physical particle\n systems](https://flitter.readthedocs.io/en/latest/physics.html), including\n spring/rod/rubber-band constraints, gravity, electrostatic charge, adhesion,\n buoyancy, inertia, drag (including in flowing media), Brownian motion,\n uniform electric fields, barriers and particle collisions\n- [playing videos](https://flitter.readthedocs.io/en/latest/windows.html#video)\n at arbitrary speeds (including in reverse)\n- running [GLSL\n shaders](https://flitter.readthedocs.io/en/latest/shaders.html) as\n stacked image filters and generators, with per-frame control of arbitrary\n uniforms, and support for multi-pass and downsampling\n- built-in filters for: scaling/translating/rotating, Gaussian blurring, bloom,\n edge detection, vignetting, video feedback, lens flares, color and exposure\n adjustments, tone-mapping with the Reinhard and ACES Filmic functions, and 2D\n noise-map generation\n- compositing all of the above and rendering to one or more windows\n- [saving rendered\n output](https://flitter.readthedocs.io/en/latest/windows.html#record) to\n image and video files (including lockstep frame-by-frame video output\n suitable for producing perfect loops and direct generation of animated GIFs)\n- taking live inputs from Ableton Push 2 or Behringer X-Touch mini MIDI\n surfaces (other controllers relatively easy to add)\n- driving arbitrary DMX fixtures via an Entec-compatible USB DMX interface\n- driving a LaserCube plugged in over USB (other lasers probably easy-ish to\n support)\n\n**Flitter** also has a plug-in architecture that allows extension with new\nimage and 3D mesh generators, MIDI and DMX interfaces, or completely novel\ninput and output systems.\n\n## Installation\n\n**Flitter** can be installed from the [`flitter-lang` PyPI\npackage](https://pypi.org/project/flitter-lang/) with:\n\n```sh\npip3 install flitter-lang\n```\n\nand then run as:\n\n```sh\nflitter path/to/some/flitter/script.fl\n```\n\nMore details can be found in the [installation\ndocumentation](https://flitter.readthedocs.io/en/latest/install.html).\n\n## Documentation\n\nThe documentation is available on [**Read** *the*\n**Docs**](https://flitter.readthedocs.io/).\n\nThere are a few quick\n[examples](https://github.com/jonathanhogg/flitter/blob/main/examples)\nin the main repository. However, there is also a separate repo containing [many\nmore interesting examples](https://github.com/jonathanhogg/flitter-examples)\nthat are worth checking out.\n\n## License\n\n**Flitter** is copyright \u00a9 Jonathan Hogg and licensed under a [2-clause\n\"simplified\" BSD\nlicense](https://github.com/jonathanhogg/flitter/blob/main/LICENSE)\nexcept for the OpenSimplex 2S noise implementation, which is based on\n[code](https://code.larus.se/lmas/opensimplex) copyright \u00a9 A. Svensson and\nlicensed under an [MIT\nlicense](https://code.larus.se/lmas/opensimplex/src/branch/master/LICENSE).\n",
"bugtrack_url": null,
"license": "Copyright (c) 2024, Jonathan Hogg All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ",
"summary": "Flitter is a functional programming language and declarative system for describing 2D and 3D visuals",
"version": "1.0.0b22",
"project_urls": {
"Documentation": "https://flitter.readthedocs.io/",
"Issues": "https://github.com/jonathanhogg/flitter/issues",
"Repository": "https://github.com/jonathanhogg/flitter.git"
},
"split_keywords": [
"language",
" opengl",
" live-coding",
" live-visuals"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4b7a0691384028b7d09e4a318f4a2ce4cfdd9db590863a2792ac363ec005ed81",
"md5": "f6b582d3cbf2fa8cf759941a620516d2",
"sha256": "46863c323318b7ced6e95faa6e028ab51b0159468420b67569242eeb3b84eec8"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "f6b582d3cbf2fa8cf759941a620516d2",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 5090783,
"upload_time": "2024-12-07T09:22:11",
"upload_time_iso_8601": "2024-12-07T09:22:11.765461Z",
"url": "https://files.pythonhosted.org/packages/4b/7a/0691384028b7d09e4a318f4a2ce4cfdd9db590863a2792ac363ec005ed81/flitter_lang-1.0.0b22-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2617c68ce7d967b1262d26b1966f6a4ff8906c90b0787b2cf79075800d1c6f67",
"md5": "d04f40190fc089a41a22ef51dc3a42f7",
"sha256": "57ebbb3a2e70f8082fe9ed521ae0edee404dad6369bae2ebf9921c7676b8ef14"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "d04f40190fc089a41a22ef51dc3a42f7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 4880667,
"upload_time": "2024-12-07T09:22:13",
"upload_time_iso_8601": "2024-12-07T09:22:13.983760Z",
"url": "https://files.pythonhosted.org/packages/26/17/c68ce7d967b1262d26b1966f6a4ff8906c90b0787b2cf79075800d1c6f67/flitter_lang-1.0.0b22-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e52a1317001211479e1b0c213272dc26b192c9f90573661266e330e0b4685725",
"md5": "e2d12e2e4012ad68bc7603a2bdea561e",
"sha256": "76c3022b6e9a62ef06a583cd7af965c90b91a1f0536a9a2f55055ce0f22f31f3"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "e2d12e2e4012ad68bc7603a2bdea561e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 15571337,
"upload_time": "2024-12-07T09:22:16",
"upload_time_iso_8601": "2024-12-07T09:22:16.496804Z",
"url": "https://files.pythonhosted.org/packages/e5/2a/1317001211479e1b0c213272dc26b192c9f90573661266e330e0b4685725/flitter_lang-1.0.0b22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5875d7b1646107791215981e581fc2c57f4f0567a3b1608668a1b3c54de996fe",
"md5": "a366142f5322ab7816356d0f4b62fe5c",
"sha256": "7b38197aaa88e18d0bcf27cef27f8d626d8c880ef10f453c1ee1709609edcb35"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp310-cp310-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "a366142f5322ab7816356d0f4b62fe5c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 15124135,
"upload_time": "2024-12-07T09:22:18",
"upload_time_iso_8601": "2024-12-07T09:22:18.775978Z",
"url": "https://files.pythonhosted.org/packages/58/75/d7b1646107791215981e581fc2c57f4f0567a3b1608668a1b3c54de996fe/flitter_lang-1.0.0b22-cp310-cp310-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f005a1e8c864aa8f262ef45c9066431eccfe8065a3dcb00f4906e90a9b0116b0",
"md5": "8d4d641da6b6156486fc5a4a4fe27b16",
"sha256": "b2789cb07312060ed05f0b682750c1649d6fddca6caf01bde8c9bfc8c5612944"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "8d4d641da6b6156486fc5a4a4fe27b16",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 4780067,
"upload_time": "2024-12-07T09:22:21",
"upload_time_iso_8601": "2024-12-07T09:22:21.008827Z",
"url": "https://files.pythonhosted.org/packages/f0/05/a1e8c864aa8f262ef45c9066431eccfe8065a3dcb00f4906e90a9b0116b0/flitter_lang-1.0.0b22-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6b95f08db9b945b9f983401a4f23674adf7bb0e7526de7986f4ba9f8d386c0a4",
"md5": "cae6498e4cb053b7498b2b0857ffd6b5",
"sha256": "a65bad5f378eabff572bfe7a10b476869f001483dc84b8ba06b9b3bba3855fae"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "cae6498e4cb053b7498b2b0857ffd6b5",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 5103602,
"upload_time": "2024-12-07T09:22:23",
"upload_time_iso_8601": "2024-12-07T09:22:23.122932Z",
"url": "https://files.pythonhosted.org/packages/6b/95/f08db9b945b9f983401a4f23674adf7bb0e7526de7986f4ba9f8d386c0a4/flitter_lang-1.0.0b22-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0a74a2881e45192f7b062001b34e099ce4ea62f7e58320147daf73a0b9ab2ac6",
"md5": "71cf7e6350d19ec47136b37800832966",
"sha256": "4c368724a922813be1e38afbf9e7b402fd5768124150b84054503792d43e54e8"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "71cf7e6350d19ec47136b37800832966",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 4890344,
"upload_time": "2024-12-07T09:22:25",
"upload_time_iso_8601": "2024-12-07T09:22:25.435494Z",
"url": "https://files.pythonhosted.org/packages/0a/74/a2881e45192f7b062001b34e099ce4ea62f7e58320147daf73a0b9ab2ac6/flitter_lang-1.0.0b22-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "376d3563229105d417546ecc25972dbae2cdbf3d5eb1fad2f01b10a16bdf3d9d",
"md5": "029a8be04ba06ce67a2372391adedd70",
"sha256": "4f6d0ecdc29b3547e4a3abc1a6c032a84490d1f2892ee0ea3db68d9a83110c78"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "029a8be04ba06ce67a2372391adedd70",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 16802173,
"upload_time": "2024-12-07T09:22:27",
"upload_time_iso_8601": "2024-12-07T09:22:27.179217Z",
"url": "https://files.pythonhosted.org/packages/37/6d/3563229105d417546ecc25972dbae2cdbf3d5eb1fad2f01b10a16bdf3d9d/flitter_lang-1.0.0b22-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "81963095ea1bdaef4951b5ce3e20b4eece2b2e145bd9567e80fef8afd5ad261c",
"md5": "4079e48e57836bceb3789ff10784dc31",
"sha256": "814b7a3aa9595cc2dea2e4f357c63bb8a8de16909df740239b297cad20c28327"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp311-cp311-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "4079e48e57836bceb3789ff10784dc31",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 16550034,
"upload_time": "2024-12-07T09:22:30",
"upload_time_iso_8601": "2024-12-07T09:22:30.200235Z",
"url": "https://files.pythonhosted.org/packages/81/96/3095ea1bdaef4951b5ce3e20b4eece2b2e145bd9567e80fef8afd5ad261c/flitter_lang-1.0.0b22-cp311-cp311-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9a0ee9e65daee759626d8d7b63837ebf1d9636082700bd3ab8bb749768ad65bf",
"md5": "f297ccb6a696ee84a88f22c21186270c",
"sha256": "cf8d95efbc3496d685e53e4876e196073cc5319b6a1f9d72908d31f7f28bdc67"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "f297ccb6a696ee84a88f22c21186270c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 4793658,
"upload_time": "2024-12-07T09:22:32",
"upload_time_iso_8601": "2024-12-07T09:22:32.636623Z",
"url": "https://files.pythonhosted.org/packages/9a/0e/e9e65daee759626d8d7b63837ebf1d9636082700bd3ab8bb749768ad65bf/flitter_lang-1.0.0b22-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e3ed25e9be29fee12661c7bdd15f1ac8208fe5414380d8926564a0218461050e",
"md5": "4691e963a7e72e69d4b9fac528c171ad",
"sha256": "6cab0860e53079b99d3c91ce408f223afbbd6cf530b3697e6cee3c526caf292b"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "4691e963a7e72e69d4b9fac528c171ad",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 5094206,
"upload_time": "2024-12-07T09:22:34",
"upload_time_iso_8601": "2024-12-07T09:22:34.305830Z",
"url": "https://files.pythonhosted.org/packages/e3/ed/25e9be29fee12661c7bdd15f1ac8208fe5414380d8926564a0218461050e/flitter_lang-1.0.0b22-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "622eb957a1ab878f15e5f14251ba17f363b4af0858e1c9815126c727404b1f39",
"md5": "18a5017cd6d365e9fe039c5a9505e6a0",
"sha256": "673acaa20031da23ef9d4ad861deb25f99933b918197b5a8754f6b259ba30eed"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "18a5017cd6d365e9fe039c5a9505e6a0",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 4898180,
"upload_time": "2024-12-07T09:22:36",
"upload_time_iso_8601": "2024-12-07T09:22:36.579095Z",
"url": "https://files.pythonhosted.org/packages/62/2e/b957a1ab878f15e5f14251ba17f363b4af0858e1c9815126c727404b1f39/flitter_lang-1.0.0b22-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "28e2d266c938f2b1b7765c6a6e138af04be9fde27677240476f7525a3800b163",
"md5": "8eb905fa664364eedac1052f3d134f92",
"sha256": "dd181ceced59dc59addd009034bab2653e4a1bf1318315e1f061348893d18829"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "8eb905fa664364eedac1052f3d134f92",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 16521920,
"upload_time": "2024-12-07T09:22:38",
"upload_time_iso_8601": "2024-12-07T09:22:38.398109Z",
"url": "https://files.pythonhosted.org/packages/28/e2/d266c938f2b1b7765c6a6e138af04be9fde27677240476f7525a3800b163/flitter_lang-1.0.0b22-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3645b0506a0d1d96b1617ce09e575f00fbe3029298068a08fab039dda4c8f2a1",
"md5": "609ced858e8676ae56ecf70c72938219",
"sha256": "a638656b09664663ed0baf8e2a60c36117101db0cf8cc7651d6e8c4b5527c41c"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp312-cp312-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "609ced858e8676ae56ecf70c72938219",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 16220890,
"upload_time": "2024-12-07T09:22:40",
"upload_time_iso_8601": "2024-12-07T09:22:40.863961Z",
"url": "https://files.pythonhosted.org/packages/36/45/b0506a0d1d96b1617ce09e575f00fbe3029298068a08fab039dda4c8f2a1/flitter_lang-1.0.0b22-cp312-cp312-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b6f940eebe7777348885ba2c2e8be476795547b0a91e2e52119ad51b68aba5e4",
"md5": "9f0dda36508423015914e48da543e94a",
"sha256": "aed24e8d92c1ab831fb7d53876bb7b39fc52c2e178a46bdd81d771586143c51e"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "9f0dda36508423015914e48da543e94a",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 4762003,
"upload_time": "2024-12-07T09:22:43",
"upload_time_iso_8601": "2024-12-07T09:22:43.767897Z",
"url": "https://files.pythonhosted.org/packages/b6/f9/40eebe7777348885ba2c2e8be476795547b0a91e2e52119ad51b68aba5e4/flitter_lang-1.0.0b22-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "456b9da7bcd4e08c900fe6fdaae13fbde7e1f0c600129fb6a958669088fe499c",
"md5": "d22ecdd0615738a18530d31afa452aad",
"sha256": "98cf2351d2d7e4fe5189fa1e7e5f15d2bdcfdc78afbb623bd79bcd71f9146586"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp313-cp313-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "d22ecdd0615738a18530d31afa452aad",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 5071821,
"upload_time": "2024-12-07T09:22:45",
"upload_time_iso_8601": "2024-12-07T09:22:45.520683Z",
"url": "https://files.pythonhosted.org/packages/45/6b/9da7bcd4e08c900fe6fdaae13fbde7e1f0c600129fb6a958669088fe499c/flitter_lang-1.0.0b22-cp313-cp313-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f145ffa6764a383ce690c4cc961e13ebff612941e7294417b124047ee1b68f32",
"md5": "a7c7f2c6b5dfedc9edb364c63dceec76",
"sha256": "2fed2ca22779fa7ef710f0a41996cba02512ae20f96ddc997a1bbba808371d70"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "a7c7f2c6b5dfedc9edb364c63dceec76",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 4875661,
"upload_time": "2024-12-07T09:22:47",
"upload_time_iso_8601": "2024-12-07T09:22:47.103895Z",
"url": "https://files.pythonhosted.org/packages/f1/45/ffa6764a383ce690c4cc961e13ebff612941e7294417b124047ee1b68f32/flitter_lang-1.0.0b22-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0d324870650797cec730f12fe803dc73bd2500bbd5e96771d7efe5ba3d3a4d80",
"md5": "d2ddfc48ad68614686665fbeaa7daafa",
"sha256": "f4e36931627e468beca2ac21adfeff324481625479305131294cbd30a9ac2b2d"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d2ddfc48ad68614686665fbeaa7daafa",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 16484645,
"upload_time": "2024-12-07T09:22:48",
"upload_time_iso_8601": "2024-12-07T09:22:48.812939Z",
"url": "https://files.pythonhosted.org/packages/0d/32/4870650797cec730f12fe803dc73bd2500bbd5e96771d7efe5ba3d3a4d80/flitter_lang-1.0.0b22-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "90853293047779bbd856dfbc68eb20eecbd5b5d57a24613f7cd54b9263092bcd",
"md5": "8e588f35b576f159d95e464614df0f19",
"sha256": "fa4aa30758f6188aa6a9ba68c4fc38cc0b129f713cdbeb35c1c6a47340ba1667"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp313-cp313-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "8e588f35b576f159d95e464614df0f19",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 16186122,
"upload_time": "2024-12-07T09:22:51",
"upload_time_iso_8601": "2024-12-07T09:22:51.082467Z",
"url": "https://files.pythonhosted.org/packages/90/85/3293047779bbd856dfbc68eb20eecbd5b5d57a24613f7cd54b9263092bcd/flitter_lang-1.0.0b22-cp313-cp313-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9f6a6c6f4b4cfef1b02c502c4dd756e43a2f70550cf16243c99b691e83e4a7bc",
"md5": "567475d7166bc057785abcab10cfaa49",
"sha256": "b7f7cac825b90585ddf583bf3034144233333afe7fbefde5338d1eb75710675b"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "567475d7166bc057785abcab10cfaa49",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 4757143,
"upload_time": "2024-12-07T09:22:53",
"upload_time_iso_8601": "2024-12-07T09:22:53.819353Z",
"url": "https://files.pythonhosted.org/packages/9f/6a/6c6f4b4cfef1b02c502c4dd756e43a2f70550cf16243c99b691e83e4a7bc/flitter_lang-1.0.0b22-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e28d79bd225ce6003803ed25be92624e98cf9b0c8293eb0404787d922ba13888",
"md5": "8772b4eb97569aba3e9444837470e95d",
"sha256": "9e9f382fb383fbf915a6f09ff4357ffd5d29a6880c2d59580f5fc5f7241cfad6"
},
"downloads": -1,
"filename": "flitter_lang-1.0.0b22.tar.gz",
"has_sig": false,
"md5_digest": "8772b4eb97569aba3e9444837470e95d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 2984478,
"upload_time": "2024-12-07T09:22:55",
"upload_time_iso_8601": "2024-12-07T09:22:55.364037Z",
"url": "https://files.pythonhosted.org/packages/e2/8d/79bd225ce6003803ed25be92624e98cf9b0c8293eb0404787d922ba13888/flitter_lang-1.0.0b22.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-07 09:22:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jonathanhogg",
"github_project": "flitter",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "flitter-lang"
}