swift
py2many
swift | py2many | |
---|---|---|
16 | 29 | |
6,052 | 599 | |
- | 2.5% | |
0.0 | 8.1 | |
over 2 years ago | about 1 month ago | |
Jupyter Notebook | Python | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
swift
-
Show HN: Designing Bridges with PyTorch
I remember several years ago when differentiable programming was an object of interest to the programming community and Lattner was trying to make Swift for Tensorflow happen[1].
I'm of the opinion that it was ahead of its time: Swift hadn't (and still hasn't) made enough progress on Linux support for it to be taken seriously as a language for writing anything that isn't associated with Apple. However, as a result, Swift now has language-level differentiability in its compiler. I'd love to see Swift get used for projects like this, but I suppose the reality of the matter is that there are so many performant runtimes for 2D/3D physics that there just isn't much of a need for automatic differentiation (and its overhead) to solve these problems. The tooling nerd in me thinks this stuff is fascinating.
https://github.com/tensorflow/swift
-
Can Swift be used for Data Science?
there was a time when google attempted to integrate swift with tensorflow, but the project was abandoned, and the repo is archived now. I believe the swift community picked up some of the features, and they are still working on it.
-
Engineering Trade-Offs in Automatic Differentiation: from TensorFlow and PyTorch to Jax and Julia - Stochastic Lifestyle
Apple really is focusing on CoreML rather than differentiable swift, that was more of the vision of Swift4TF, which really was driven mostly by Google, until it was cancelled (I assume because of Chris Latner leaving google for SiFive): https://github.com/tensorflow/swift
-
Swift on the Server in 2020
to be fair, Swift for Tensorflow was dropped (Feb 21) way after this article was written (Aug 20) https://github.com/tensorflow/swift
- Flashlight: Fast and flexible machine learning in C++
-
Swift for TensorFlow Shuts Down
Neat! This may have not been well known when they kicked off the project and wrote their reasoning. Here is what they had to say about Scala at the time of the document linked up-thread[0]:
"Java / C# / Scala (and other OOP languages with pervasive dynamic dispatch): These languages share most of the static analysis problems as Python: their primary abstraction features (classes and interfaces) are built on highly dynamic constructs, which means that static analysis of Tensor operations depends on "best effort" techniques like alias analysis and class hierarchy analysis. Further, because they are pervasively reference-based, it is difficult to reliably disambiguate pointer aliases."
If they were wrong about that, or if the state of the art has progressed in the meantime, that's great! You may well be right that Scala would be a good / the best choice if they started the project today.
[0]: https://github.com/tensorflow/swift/blob/main/docs/WhySwiftF...
-
Swift for TensorFlow in Archive Mode
It was not in the README
py2many
-
Transpiler, a Meaningless Word
> Another problem is that there are hundreds of built-in library functions that need to be compiled from Python from C
An approach I've advocated as one of the main authors of py2many is that all of the python builtin functions be written in a subset of python[1] and then compiled into native code. This has the benefit of avoiding GIL, problems with C-API among other things.
Do checkout the examples here[2] which work out of the box for many of the 8-9 supported backends.
[1] https://github.com/py2many/py2many/blob/main/doc/langspec.md
-
py2many VS kithon - a user suggested alternative
2 projects | 17 Jun 2023
-
Why I'm still using Python
https://github.com/py2many/py2many/blob/main/doc/langspec.md
Reimplement a large enough, commonly used subset of python stdlib using this dialect and we may be in the business of writing cross platform apps (perhaps start with android and Ubuntu/Gnome)
-
Codon: A high-performance Python compiler
For py2many, there is an informal specification here:
https://github.com/py2many/py2many/blob/main/doc/langspec.md
Would be great if all the authors of "python-like" languages get together and come up with a couple of specs.
I say a couple, because there are ones that support the python runtime (such as cython) and the ones which don't (like py2many).
-
A Python-compatible statically typed language erg-lang/erg
It'd not fully solve your issue, but have you ever seen https://github.com/py2many/py2many ?
-
Omyyyy/pycom: A Python compiler, down to native code, using C++
Cython doesn't consume python3 type hints and needs special type hints of its own. But it's certainly more mature than other players in the field.
What we need is a rpython suitable for app programming and a stdlib written in that dialect.
https://github.com/py2many/py2many/blob/main/doc/langspec.md
- I made a Python compiler, that can compile Python source down to fast, standalone executables.
- PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)
-
Show HN: prometeo – a Python-to-C transpiler for high-performance computing
No intermediate AST. To understand the various stages of transpilation and separation of language specific and independent rewriters, this file is a good starting point:
https://github.com/adsharma/py2many/blob/main/py2many/cli.py...
-
Implicit Overflow Considered Harmful (and how to fix it)
Link to the test that's relevant for this discussion:
https://github.com/adsharma/py2many/blob/main/tests/cases/in...
This is an explicit deviation from python's bigint, which doesn't map very well to systemsey languages. The next logical step is to build on this to have dependent and refinement types.
Work in progress here:
https://github.com/adsharma/Typpete
What are some alternatives?
julia - The Julia Programming Language
pybind11 - Seamless operability between C++11 and Python
Enzyme.jl - Julia bindings for the Enzyme automatic differentiator
PyO3 - Rust bindings for the Python interpreter
DeepSpeed - DeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.
PythonNet - Python for .NET is a package that gives Python programmers nearly seamless integration with the .NET Common Language Runtime (CLR) and provides a powerful application scripting tool for .NET developers.
dataenforce - Python package to enforce column names & data types of pandas DataFrames
PyCall.jl - Package to call Python functions from the Julia language
Vapor - 💧 A server-side Swift HTTP web framework.
smoke-framework - A light-weight server-side service framework written in the Swift programming language.
rust-numpy - PyO3-based Rust bindings of the NumPy C-API