The best Hacker News stories from Show from the past day

Go back

Latest posts:

Show HN: Morgan – PyPI Mirror for Restricted/Offline Environments

Mirroring PyPI packages for environments/networks that do not have access to the Internet is hard. It's actually hard even in environments that do have access to the Internet. Most solutions out there either:<p>1. Depend on pip to download and cache package distributions. This means those downloads will probably only work in a similar environment (same Python interpreter, same libc), because of the nature of binary package distributions and the fact that packages have optional dependencies for different environments.<p>2. Depend on other PyPI packages, meaning installing the mirror in a restricted environment in itself is too difficult.<p>3. Cannot resolve dependencies of dependencies, meaning mirroring PyPI partially is extremely difficult, and PyPI is huge.<p>Morgan works differently. It creates a mirror based on a configuration file that defines target environments (using Python's standard Environment Markers specification from PEP 345) and a list of package requirement strings (e.g. "requests>=2.24.0"). It downloads all files relevant to the target environments from PyPI (both source and binary distributions), and recursively resolves and downloads their dependencies, again based on the target environments. It then extracts a single-file server to the mirror directory that works with Python 3.7+, has no outside dependencies, and implements the standard Simple API. This directory can be copied to the restricted network, through whatever security policies are in place, and deployed easily with a simple `python server.py` command.<p>I should note that Morgan can find dependencies from various metadata sources inside package distributions, including standard METADATA/PKG-INFO/pyproject.toml files, and non-standard files such as setuptools' requires.txt.<p>There's more information in the Git repository. If this is interesting to you, I'll be happy to receive your feedback.<p>Thanks!

Show HN: TwitterToNitter. A bookmarklet that makes reading on Twitter easier

Show HN: TwitterToNitter. A bookmarklet that makes reading on Twitter easier

Show HN: TwitterToNitter. A bookmarklet that makes reading on Twitter easier

Show HN: MathB.in – Mathematics pastebin written in Common Lisp

Show HN: MathB.in – Mathematics pastebin written in Common Lisp

Show HN: MathB.in – Mathematics pastebin written in Common Lisp

Show HN: MathB.in – Mathematics pastebin written in Common Lisp

Show HN: Ezno, a type checker for JavaScript and optimiser for React

Show HN: Ezno, a type checker for JavaScript and optimiser for React

Show HN: Ezno, a type checker for JavaScript and optimiser for React

Show HN: Ezno, a type checker for JavaScript and optimiser for React

Show HN: The simplest drum pattern composing algorithm I could come up with

Hi there, my name is Jay. Making music and writing software have probably been the two biggest pleasures of my life -only after my family. My team and I recently started a long journey of trying to completely change the way people create music, and as it usually happens with any long journey, it all starts with small steps. One of those small steps was to build https://drummy.io, or "Dummy Drums," a very simple yet useful drum machine that stores the entire drum pattern in the hashtag of the URL. There is no backend. Fully served by a CDN. If you wanna learn how to build your own drum machine in Javascript using the WebAudioAPI, here's an amazing read: "A tale of Two Clocks." (https://web.dev/audio-scheduling/). Also, check Howler.js (https://howlerjs.com/), a rock-solid library with a great community. Anyway, not long ago I noticed the dummy drums site hasn't been getting much traction, but I think I figured out why. Most of the new users are getting frustrated because it is very easy to get stuck trying to come up with a fresh drum pattern, and so https://twitter.com/DrummyBot was born! A function written in less than an hour that comes up with pretty decent rhythms. While not in any specific style, and no ability to choose settings or tune it, it may still be a great kickstarter for that new beat you just can't seem to find. It is like the opposite of a fancy AI that seems to be so hot these days. If you think DrummyBot can help you get inspired, just follow it on Twitter. The bot publishes a new pattern every hour, and even tries to give it a name using PHP's Faker library. You can also simply go to https://drummy.io and use the magic wand button to get a fresh pattern with each click! The function is totally randomized, you will never get the same pattern twice, and customizing literally requires just a few seconds. I hope you like it, and of course, all feedback is gladly welcome!

Show HN: Niche Community – Quickly create general-purpose online communities

Show HN: OpenZiti Python SDK

Show HN: Rocketry – Statement-based scheduling framework for Python

Show HN: Rocketry – Statement-based scheduling framework for Python

Show HN: Open Prompts – dataset of 10M Stable Diffusion generations

Open Prompts is the dataset used to build krea.ai. The data comes from the Stability AI Discord and includes around 10M images from 2M prompts. You can use it for creating semantic search engines of prompts, training LLMs, fine-tuning image-to-text models like BLIP, or extracting insights from the data—like the most common combinations of modifiers.

Show HN: Open Prompts – dataset of 10M Stable Diffusion generations

Open Prompts is the dataset used to build krea.ai. The data comes from the Stability AI Discord and includes around 10M images from 2M prompts. You can use it for creating semantic search engines of prompts, training LLMs, fine-tuning image-to-text models like BLIP, or extracting insights from the data—like the most common combinations of modifiers.

Show HN: Open Prompts – dataset of 10M Stable Diffusion generations

Open Prompts is the dataset used to build krea.ai. The data comes from the Stability AI Discord and includes around 10M images from 2M prompts. You can use it for creating semantic search engines of prompts, training LLMs, fine-tuning image-to-text models like BLIP, or extracting insights from the data—like the most common combinations of modifiers.

< 1 2 3 ... 609 610 611 612 613 ... 935 936 937 >