erg
libtmux
erg | libtmux | |
---|---|---|
17 | 6 | |
2,582 | 962 | |
4.2% | 2.0% | |
9.8 | 9.7 | |
4 days ago | 3 days ago | |
Rust | 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.
erg
-
Pylyzer – A fast static code analyzer and language server for Python
Looking through the code, Pylyzer seems to be a thin wrapper around Erg [1]. To typecheck, it converts your Python AST to an Erg AST, then runs its through the Erg typechecker and returns the errors.
Faster typechecking for Python is very much needed. But this project seems like it was built in a hackathon —- it is not a true standalone typchecker.
[1] https://github.com/erg-lang/erg
-
This Week in Python
erg – A Python-compatible statically typed language
- erg: A Python-compatible statically typed language
- erg: A Python-compatible statically typed language written in Rust
-
Erg: a Python-Compatible Statically Typed Language
I have been developing a programming language for a few years and this week I published it on GitHub.
- Erg: A Python-compatible statically typed language
- GitHub - erg-lang/erg: A Python-compatible statically typed language
- Erg: a statically typed language that is Python compatible
libtmux
-
Using Mypy in Production
I am moving all my open source projects to `mypy --strict`. Here's the diff of adding basic / --strict mypy types:
libvcs: https://github.com/vcs-python/libvcs/pull/362/files, https://github.com/vcs-python/libvcs/pull/390/files
libtmux: https://github.com/tmux-python/libtmux/pull/382/files, https://github.com/tmux-python/libtmux/pull/383/files
unihan-etl: https://github.com/cihai/unihan-etl/pull/255/files, https://github.com/cihai/unihan-etl/pull/257/files
As for return on investment - not sure yet. What I like about it is:
- completions (through annotating)
- typings can be used downstream (since the above are all now typed python libraries)
- maintainability and bug finding. Easy to wire into CI and run locally.
There's a thread on mypy, "--strict is too strict to be useful", https://github.com/python/mypy/issues/7767. I'm not sure if I walked away with that impression. If I have a function that could potentially return `None` (`Optional[str]` or `str | None`) - it makes sense for the user to handle such a case. They could:
assert response is not None
-
This Week in Python
libtmux – Python API / wrapper for tmux
- libtmux: Python API / Wrapper for tmux
-
tmuxp 1.12.0 and libtmux 0.12.0 released - Revamped documentation
libtmux v0.12.0, GitHub, Release notes, Docs
-
zoom only one side of the window?
Script-out the creation of new windows from the current window… so with the desired panes create a new window with the desired layout using the panes from the current/old window (then another script to rebuild the previous window). https://github.com/tmux-python/libtmux could make this scripting easier; I don't think tmuxinator would give you the versatile zooming effect you're looking for.
What are some alternatives?
pyxel - A retro game engine for Python
flakeheaven - flakeheaven is a python linter built around flake8 to enable inheritable and complex toml configuration.
pytype - A static type analyzer for Python code
uwsgi-nginx-flask-docker - Docker image with uWSGI and Nginx for Flask applications in Python running in a single container.
nimpy - Nim - Python bridge
dg - A programming language for the CPython VM.
cats-effect - The pure asynchronous runtime for Scala
unihan-etl - Export UNIHAN's database to csv, json or yaml
Flask - The Python micro framework for building web applications.
Jupyter Scala - A Scala kernel for Jupyter
typeshed - Collection of library stubs for Python, with static types