Implement best practices from Effective Python
While most best practices can be adopted during code review, this ticket is reserved to track:
Item 50: Use packages to organize modules and provide stable APIs
Item 49: Write Docstrings for every function, class, and module
Item 54: Consider module-scoped code to configure deployment environments
Item 56: Test everything with unittest
Also, I will track what I learn from the code base and draft my refactor proposal in https://sagebionetworks.jira.com/wiki/spaces/SYNPY/pages/564625409/Synapse+Python+Client+Code+Base
The benefits of this ticket are to improve readability and maintainability of the code base.