3 ms·
The Nylas Sync Engine is a large Python codebase with a test suite: https://github.com/nylas/sync-engine https://github.com/nylas/sync-engine Lots of examples
by spang 11y ago
The Nylas Sync Engine is a large Python codebase with a test suite: https://github.com/nylas/sync-engine https://github.com/nylas/sync-engine
Lots of examples of SQLAlchemy, Flask, gevent, and pytest in action to build a REST API and sync platform for email/calendar/contacts data!
- jlees 11y agoPutting on my "Python teacher" hat for a moment (I also work at Nylas), our codebase is interesting for learning purposes because it's a fairly homogenous, 'live' product managed by a commercial engineering team. Definitely on the complex side of things, though -- let me know if you want any help figuring it out (we also have a community Slack at http://slack-invite.nylas.com/ http://slack-invite.nylas.com/). On the testing side, I was chatting to a fellow Pyladies attendee about how we do test fixture setup and teardown (especially around databases) -- you might find that interesting to look at too.
- aaronchall 11y agoI clicked through on this and browsed a few directories, none of which seemed likely. I do not see any `.py` files aside from an empty `__init__.py` and the `setup.py`. Are you sure a beginner just learning Python should see this?
- spang 11y agoThe main codebase is in `inbox/`, with launcher scripts and tools in `bin/`. (Might not be totally obvious, because the package namespace is called `inbox/` for legacy reasons.) If a beginner wants to see real production code, rather than toy examples, I think it's inevitable that there will be some points of confusion. Part of the learning process is diving in and exploring and being okay with not totally understanding everything that's going on. :)