A modern, scalable, and extensible web crawler designed for efficient distributed crawling and data extraction. Built using asynchronous I/O, robust logging, plugin architecture, and distributed task processing with Celery and Redis. Uses PostgreSQL (via SQLAlchemy) to store crawled pages efficiently with indexing and transactional support. A dedicated logging framework supports console output, rotating file logs, and SQLite logging for persistent diagnostics. Easily extend the crawler with custom plugins for processing, filtering, or transforming crawled data without modifying core code. Enhanced URL normalization removes trailing slashes and sorts query parameters to avoid duplicate processing.
lazy.nvim is a modern plugin manager for Neovim. Manage all your Neovim plugins with a powerful UI. Fast startup times thanks to automatic caching and bytecode compilation of Lua modules. Automatically install missing plugins before starting up Neovim, allowing you to start using it right away. No need to manually compile plugins. Figures out dependencies automatically. Generates helptags of the headings in README.md files for plugins that don't have vimdocs. Profiles plugins to optimize performance.
The Python standard library once included a basic SMTP server in the smtpd module, based on the old asynchronous libraries asyncore and asynchat. It was formally removed in v3.12.
This package provides such an implementation of both the SMTP and LMTP protocols using the asyncio module (which has been standard since Python v3.4). Supports the relevant RFCs natively.
Can be executed from the command line, defaulting to port 8025/tcp: python3 -m aiosmtpd -n
or aiosmtpd -n
msync is a command line client for Mastodon (and anything else that implements the same API, including Pleroma) that works a little different. msync doesn't stay connected to the internet all the time and constantly pull new posts. Instead, it only connects when you use the msync sync command. Every other change is stored on your computer until then. You can queue up posts to send, boost, bookmark, and favorite when you're online, download posts, notifications, and bookmarks to look at offline, and do the same for as many accounts as you want.
msync currently supports queueing and sending posts, boosts, favorites, and bookmarks for any number of accounts, as well as downloading the home timeline, notifications, bookmarks, and arbitrary threads.
TinyXMPP is a small XMPP client library for Python applications. It allows developers to easily connect to XMPP servers and exchange messages in a fast and secure way.
The only demo code seems to be in the README right now.
A Python module for accessing a Matrix server that is built using the no-I/O methodology - it conceals all of the input and output so development is focused on assembling what is sent and using what is received. Asynchronous in nature. In Pypi. Also end-to-end encryption capable. I don't know how flexible this library is so more investigation is required.
Slixmpp is an MIT licensed XMPP library for Python 3.7+. It started life as a fork of SleekXMPP because Sleek is no longer maintained. Slixmpp's goals is to only rewrite the core of the library (the low level socket handling, the timers, the events dispatching) in order to remove all threads.
By and large, it seems as if you could just drop this module in and it'd work. My code uses threads, so it might take a little more tinkering than that.
Docs: https://slixmpp.readthedocs.io/en/latest/
XMPP events: https://slixmpp.readthedocs.io/en/latest/event_index.html
Asyncoro is a Python framework for writing massively distributed applications. Designed to work in an asynchronous fashion (including non-blocking network socket handling) on as many OSes as possible. Supports SSL, locking, execution of routines on remote systems, and hot-swapping of code. Even does asynchronous database access.