Hi Folks,

First off, I'd just like to thank everyone here for all of the awesome work 
you've been doing on SQLAlchemy. I've been using the library for years, and 
it is a truly fantastic piece of code that I rely on literally every day. 
Thank you for all the work that you've done and are doing - it is deeply 
appreciated.

Some time ago, I was thinking about how I might be able to give back to the 
SQLAlchemy community, and I realized that I often find myself extending my 
SQLAlchemy base models with serialization and de-serialization 
functionality (usually to/from JSON and CSV, sometimes YAML or XML). And 
since it's the type of thing I've done numerous times in various API and 
data science-related projects, I thought it probably makes sense to 
abstract the functionality out and package the logic for re-use.

Separation of concerns being important, I don't think this is functionality 
that would be good to build into SQLAlchemy's codebase directly, so instead 
I wrote it as a new library I'm calling *SQLAthanor* which I've just 
released to PyPi.

It works as a drop-in replacement for parts of the SQLAlchemy ORM 
(particularly Declarative) that extends models with 
serialization/de-serialization support, granting the ability to:

   - serialize/de-serialize to/from CSV, JSON, YAML, and Python dict
   - serialize/de-serialize columns, relationships, hybrid properties, 
   association proxies, and Python @property attributes
   - enable/disable serialization for particular attribute/format 
   combinations
   - execute pre/post-processing functions on inbound/outbound data

Since this is a new project, *v.0.1.0* is only released on PyPi in beta at 
the moment. I've got - I think - pretty extensive tests written, but as we 
all know, database connectivity is all about edge cases. As it stands, my 
test matrix covers Python 2.7, 3.4, 3.5, and 3.6 with versions of 
SQLAlchemy going all the way back to 0.9.

If you're interested, I'd be incredibly grateful for any thoughts, 
feedback, suggestions, wish lists, or questions you might have. And (if you 
do try to use SQLAthanor in a project) any and all issues you stumble 
across would also be incredibly helpful.

Here are the relevant links if you'd like to take a look:

*DOCUMENTATION:* https://sqlathanor.readthedocs.io/en/latest (I hope 
comprehensive!)

*PYPI: *https://pypi.org/project/sqlathanor/

*GITHUB: *https://github.com/insightindustry/sqlathanor

Thanks in advance, and I look forward to any thoughts or perspectives you 
might have!

All the best,
Chris

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to