build
janet
Our great sponsors
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.
build
- How can I download a software for my user automatically?
-
Underappreciated Challenges with Python Packaging
If it's pure Python, the only packaging file you need is `pyproject.toml`. You can fill that file with packaging metadata per PEP 518 and PEP 621, including using modern build tooling like flit[1] for the build backend and build[2] for the frontend.
With that, you entire package build (for all distribution types) should be reducible to `python -m build`. Here's an example of a full project doing everything with just `pyproject.toml`[3] (FD: my project).
[1]: https://github.com/pypa/flit
[2]: https://github.com/pypa/build
[3]: https://github.com/pypa/pip-audit
-
"Even with --dry-run pip will execute arbitrary code found in the package's setup.py. In fact, merely asking pip to download a package can execute arbitrary code"
RE the dislike of a "third-party tool", what do you mean by this? All the major tools for packaging in Python are under the PyPA, e.g. - twine - build - hatch
-
'Python: Please stop screwing over Linux distros'
building wheels/sdists to upload or install: build
-
An Interactive Cheat Sheet That Just Gives You The Answer
python3 setup.py sdist bdist_wheel - no need for an sdist when building wheels, also I'd recommend using pypa/build instead.
-
How to Structure a Python AWS Serverless Project
The first step is to turn the internal package into a wheel (a *.whl file). We can use the build tool for this purpose. After installing build with pip we can run it as follows:
-
The future of Python build systems and Gentoo
Shouldn't https://github.com/pypa/build help? I don't think it has enough features yet but I was under the impression that was the distro solution.
janet
-
Scriptable Operating Systems with Lua [pdf]
Seems like a perfect use-case for Janet. (https://janet-lang.org/) A fast minimal VM like Lua, but even more extensible than Lua by being a "Lisp" with macro and C extension capabilities. Not a true Lisp, it's very pragmatic and performance-oriented. But it keeps the good stuff.
-
Ask HN: A Lisp with Cargo/NPM like build system?
You might be looking for: https://janet-lang.org/
It comes with a build tool `jpm` which installs dependencies globally by default, but you can have it be installed in your project folder as well.
-
Babashka: Fast native Clojure scripting runtime
I like Clojure, but I never had any good opportunities to use it other than for a few small hobby projects. It is unfortunate that it is so huge with tons of dependencies and no simpler native implementation. I started looking at various LISPs and Schemes to find something lighter to use instead and ended up settling for Janet that I think is Clojure-like enough to be comfortable to use, but in a small native binary with no dependencies and can be embedded in other native programs. I am sure for big, real, projects that Clojure makes more sense, but for my hobby projects and scripts I do not think I will install it again. I am still happy for the things I learned from learning Clojure. It was a real eye-opener for an old OO-programmer.
https://janet-lang.org/
- Janet Language
- Why Fennel?
- Embeddable Common Lisp 23.9.9
-
Sharpscript: Lisp for Scripting
One might also check out Janet for quick scripting tasks.
https://janet-lang.org
-
Red Programming Language
Thanks!
I thought about another multiplatform, homoiconic, highly compact language: https://janet-lang.org/ (takes 803 kb on my machine).
It has no types though.
-
Systems Programming with Racket
Racket is great, and if you like it you might find Rash interesting:
https://rash-lang.org/
Janet and Gerbil Scheme are also worth a look:
https://janet-lang.org/
https://cons.io/
-
how did you finally reach Lisp enlightenment?
Point here is that, for instance Janet language does not have cons / pair type but tuple (and so is lispoid, not lisp), but clearly this is sufficient for macros & hence seamless language construction: all you need is to be a lispoid although being a lisp gives another useful feature.
What are some alternatives?
gh-action-pypi-publish - The blessed :octocat: GitHub Action, for publishing your :package: distribution files to PyPI: https://github.com/marketplace/actions/pypi-publish
Fennel - Lua Lisp Language
installer - A low-level library for installing from a Python wheel distribution.
get-started-with-clojure - Learn Clojure and Interactive Programming – Zero install
setuptools - Official project repository for the Setuptools build system
babashka - Native, fast starting Clojure interpreter for scripting
pyunifiprotect - Unofficial UniFi Protect Python API and CLI
scheme-for-max - Max/MSP external for scripting and live coding Max with s7 Scheme Lisp
awesome-pyproject - An Awesome List of projects using the pyproject.toml Python configuration file.
ferret - Ferret is a free software lisp implementation for real time embedded control systems.
pipx - Install and Run Python Applications in Isolated Environments
kaboom.js - 💥 JavaScript game library