jaxtyping
pylance-release
jaxtyping | pylance-release | |
---|---|---|
7 | 50 | |
941 | 1,655 | |
3.9% | 0.4% | |
8.3 | 9.0 | |
13 days ago | 8 days ago | |
Python | Python | |
GNU General Public License v3.0 or later | Creative Commons Attribution 4.0 |
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.
jaxtyping
-
Writing Python like it's Rust
Try using [jaxtyping](https://github.com/google/jaxtyping).
It also supports numpy/pytorch/etc.
-
Writing Python like it’s Rust
Since you mention ML use-cases, you might like jaxtyping.
-
Scientific computing in JAX
jaxtyping: rich shape & dtype annotations for arrays and tensors (also supports PyTorch/TensorFlow/NumPy);
-
[D] Have their been any attempts to create a programming language specifically for machine learning?
Heads-up that my newer jaxtyping project now exists.
-
Returning to snake's nest after a long journey, any major advances in python for science ?
As other folks have commented, type hints are now a big deal. For static typing the best checker is pyright. For runtime checking there is typeguard and beartype. These can be integrated with array libraries through jaxtyping. (Which also works for PyTorch/numpy/etc., despite the name.)
- Type annotations and runtime checking for shape and dtype
pylance-release
-
Open source versus Microsoft: The new rebellion begins
One of the things that comes to mind here is the fact that the default Python extension for VS Code is, perhaps surprisingly to many, not open source. https://github.com/microsoft/pylance-release
While it's possible to fork VS Code, it is not possible to fork VS Code and provide a seamless onramp towards a Python editing experience that is fully open source, because users are used to the nuances of the closed-source Pylance experience in VS Code proper. You could use the minified/compiled Pylance plugin in your fork, but you'd have no way to expand its capabilities to new hooks your fork provides. Microsoft's development process would always be able to move faster than a fork, because it could coordinate VS Code internal API development with its internal Pylance team, and could become incompatible with forks at any time.
It's worth re-reading the quote from J Allard in https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis... with this modern example in mind.
(Also worth mentioning https://github.com/detachhead/basedpyright?tab=readme-ov-fil... which is a heroic effort to derisk this, but it's an uphill battle for sure!)
- Help! Connection to server got closed error
-
Pylance is not working on my vscode
Anyone know how can we fix this issue if we build the vscode locally
-
VSCode adding exactly one space to all my new lines??
Do any of these issue tickets explain the behaviour you're seeing? https://github.com/microsoft/pylance-release/issues/4341, https://github.com/microsoft/pylance-release/issues/4071
- Pylance: String literal is unterminated
- What do you expect when renaming an import?
-
Writing Python like it's Rust
Maybe they "are the same thing" in terms of behavior (I don't know), but "A uses B" doesn't mean that "A is B".
One important difference in this case is that while "Pylance leverages Microsoft's open-source static type checking tool, Pyright" [1], Pylance itself is not open source. In fact, the license [2] restricts you to "use [...] the software only with [...] Microsoft products and services", which means that you are not allowed to use it with a non-Microsoft open source fork of VS Code, for example.
The license terms also say that by accepting the license, you agree that "The software may collect information about you and your use of the software, and send that to Microsoft" and that "You may opt-out of many of these scenarios, but not all".
[1] https://github.com/microsoft/pylance-release
[2] https://marketplace.visualstudio.com/items/ms-python.vscode-...
-
Any must-have extensions for working with Python in VSCode/VSCodium?
There's this one: https://github.com/microsoft/pylance-release/issues/4174 (rules don't apply properly, and ovverrides don't work even after being set, this is especially for the more generic ones like )
-
MSFT is forcing Outlook and Teams to open links in Edge and IT admins are angry
The example is not .NET in general, but that specific event when Microsoft reneged on open development tooling[1]. For some people, that was the moment they stopped trusting "new Microsoft" to keep their word (though for me, it was when the Python language server was replaced with a DRM-locked, LSP-noncompliant one[2] a bit before that; unlike .NET hot reload, they didn't backtrack there). I can think the company makes great open .NET tools and at the same time not trust them to close it down on a whim.
Does anyone know where the open xlang reimplementation of MIDL went[3], by the way? (Unlike 1990s MIDL, you can't reimplement this one from the language grammar in the docs, because there is no language grammar in the docs.)
[1] https://dusted.codes/can-we-trust-microsoft-with-open-source and links there
[2] https://github.com/microsoft/pylance-release/issues
[3] https://github.com/microsoft/xlang/pull/529
- Import ... could not be resolved
What are some alternatives?
torchtyping - Type annotations and dynamic checking for a tensor's shape, dtype, names, etc.
pyright - Static Type Checker for Python
MindsDB - The platform for customizing AI from enterprise data
jedi-language-server - A Python language server exclusively for Jedi. If Jedi supports it well, this language server should too.
diffrax - Numerical differential equation solvers in JAX. Autodifferentiable and GPU-capable. https://docs.kidger.site/diffrax/
vscodium - binary releases of VS Code without MS branding/telemetry/licensing
plum - Multiple dispatch in Python
emacs-jedi - Python auto-completion for Emacs
madtypes - Python Type that raise TypeError at runtime
neovim - Vim-fork focused on extensibility and usability
pytype - A static type analyzer for Python code
nvim-lspconfig - Quickstart configs for Nvim LSP