preshed
psycopg2cffi
preshed | psycopg2cffi | |
---|---|---|
1 | 2 | |
78 | 177 | |
- | 1.1% | |
4.1 | 0.0 | |
7 months ago | almost 2 years ago | |
Cython | Python | |
MIT License | GNU General Public License v3.0 or later |
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.
preshed
-
Is anyone using PyPy for real work?
If you have very large dicts, you might find this hash table I wrote for spaCy helpful: https://github.com/explosion/preshed . You need to key the data with 64-bit keys. We use this wrapper around murmurhash for it: https://github.com/explosion/murmurhash
There's no docs so obviously this might not be for you. But the software does work, and is efficient. It's been executed many many millions of times now.
psycopg2cffi
-
Is anyone using PyPy for real work?
The only compatibility issue I've run into is database drivers.
For PostgreSQL, psycopg2 is not supported. psycopg2cffi is largely unmaintained, and the 2.9.0 version in PyPI lacks some newer features of psycopg2: the `psycopg2.sql` module and empty result sets raise a RuntimeError in Python 3.7+. The latest commit in on Github does have these changes [1]. Psycopg 3 [2] and pg8000 [3] (as user tlocke mentioned elsewhere) are viable alternates provided you aren't stuck with older versions of PostgreSQL. I'm going to continue to use psycopg2cffi until I can upgrade an old PostgreSQL 9.4 database.
For Microsoft SQL Server, pymssql does not support PyPy [4]. It's under new maintainership so it might gain support in the future. pypyodbc hasn't had any activity since 2022, and no new PyPI release since 2021 [5]. The datatypes returned can differ between libodbc1 versions. On Ubuntu 18.04 in particular: empty string columns are returned as a single space, integer columns are returned as a Decimal. Also, if you encounter a mysterious HY010 error ("Function sequence error"), you may need to upgrade libodbc1 to v2.3.7+ from v2.3.4 using the Microsoft repos.
[1]: https://github.com/chtd/psycopg2cffi
-
Microsoft is hiring, looking to speed up cpython
From time to time, I use pgcopy coupled with psycopg2cffi to feed large volumes of data processed by custom parsers written in Python for several formats. The whole process is 4-5x faster with PyPy.
What are some alternatives?
python-mysql-replication - Pure Python Implementation of MySQL replication protocol build on top of PyMYSQL
pgcopy - fast data loading with binary copy
pymssql - Official home for the pymssql source code.
hpy - HPy: a better API for Python
sparc-curation - code and files for SPARC curation workflows
murmurhash - 💥 Cython bindings for MurmurHash2
legion - The Legion Parallel Programming System
python-mysql-replicati
Pyjion - Pyjion - A JIT for Python based upon CoreCLR