Python SDK Goals - C-Accel-Project-Old-Version/old-sdk GitHub Wiki
End Goal
Intuitive
Easy to learn and work with
Good and helpful errors
Maintainable
Clean, understandable, modular code with comments, and doc strings
Easy read and update
Capable
Allow users to do everything that CRIPT UI can do and more
Should give power users a lot of power, but also be very approachable to non-technical people
Audience
Machine learning people
Retrieve data from CRIPT database, integrate it into their software, and run their own algorithms
Power users
Want to have power, control, and be able to accomplish tasks efficiently
Novice
Want to upload large amounts of data quickly and easily via a Python SDK
Implementation
Will have some similarities with Python SDK 1.0
Will have a lot of validations put in place by the SDK
Will show errors to users quickly and point to the exact line
We are making the new SDK with simplicity and maintainability in mind
Will have one save at the end of the program to save the whole data instead of piece by piece
This is much safer than the old method
GitHub repository will be equipped with CI/CD
To ensure the software is always compatible with our latest API
Documentation will be crucial in making adoption easy and there will be a lot of efforts put towards making it simple and helpful
Every release will have simple and clear release notes
If it is a breaking release, then the release notes will have clear step by step instructions on how to migrate from past version to new version easily
Future
We plan to make Python SDK 2.0 into a GitHub repository that is inviting outside contributions.
After the user documentation there will also be efforts made towards a developer documentation and how to contribute to the project
We will also offer plugins and encourage users to create their own plugins.
Convert BibTex to CRIPT Reference nodes.
Convert a CRIPT project into a pandas data frame for machine learning and data scientists.