Skip to content

Python SDK Goals

nh916 edited this page Apr 17, 2023 · 1 revision

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.

CRIPT Python SDK 2.pptx