Package: amatino
Amatino PythonAmatino is a double-entry accounting system. It provides double entry accounting as a service via an HTTP API. Amatino Python is a library for interacting with the Amatino API from within a Python application. By using Amatino Python, a Python developer can utilise Amatino services without needing to deal with raw HTTP requests.About AmatinoAmatino gives you a full set of tools to store, organise and retrieve financial information. You don't need to set up databases or write any of your own double-entry accounting logic. All you need is this library, anAmatino account (Try free for two weeks!), and you are off and running.Under constructionRight now, the Amatino API offers a full range of accounting services via HTTP requests. However, this Amatino Python library is in an 'Alpha' state. Its capabilities are limited. A subset of full Amatino features are available.To see what proportion of Amatino features are ready in Amatino Python, check out theDocumentationpage. Linked classes are available, un-linked ones are still under construction.InstallationAmatino Python may be installed viaPIP.$pipinstallamatinoTo use Amatino Python, you will need an active Amatino subscription. You can start a free trial athttps://amatino.io/subscribe.Example UsageThe first step is to login to  Amatino by creating aSessioninstance. That Session then becomes your key to using Amatino classes.fromamatinoimportSessionsession=Session.create_with_email(email='clever@cookie.com',secret='uncrackable epic passphrase!')Amatino stores financial data inside discreteEntities. An Entity might describe a person, project, company, or some other entity which you wish to describe with financial data.fromamatinoimportEntitymega_corporation=Entity.create(session=session,# Created abovename='Mega Corporation')Entities are structured as a hierarchical tree ofAccounts. You might wish to create a chart of Accounts that mirror the real-world structure of the Entity you are describing.fromamatinoimportAccountrevenue=Account.create(entity=mega_corporation,# Created abovedescription='Revenue from world domination',am_type=AMType.revenue,# An AMType enumeration optiondenomination=USD# A GlobalUnit)The real fun begins withTransactions, where debits and credits come into playfromamatinoimportTransaction,Entry,SidefromdatetimeimportdatetimefromdecimalimportDecimalrevenue_recognition=Transaction.create(entity=mega_corporation,time=datetime.utcnow(),entries=[Entry(Side.debit,Decimal(10),cash),Entry(Side.credit,Decimal(5),revenue),Entry(Side.credit,Decimal(5),customer_deposits)]denomination=USD)Check out the full range of available classes, including Ledgers, in theAmatino Python documentationAPI stability & versioningAmatino Python obeys theSemantic Versionconvention. Until v1.0.0, the Python API (not to be confused with the Amatino HTTP API) should be considered unstable and liable to change at any time.Watch out! API currently unstable!You can see available versionsin GitHub's releases sectionorin PyPi's release history section.Tell us what your think/want/like/hatePlease join us on theAmatino discussion forumsand give us your feedback. We would love to hear from you. Amatino is in its earliest stages of development, and your feedback will influence the direction it moves in.Pull requests, comments, issues, forking, and so on are alsomost welcome on Github!Useful linksAmatino homeDevelopment blogDevelopment newsletterDiscussion forumMore Amatino client librariesHTTP DocumentationPython DocumentationBilling and account managementAbout Amatino Pty LtdGet in contactTo quickly speak to a human about Amatino,email hugh@amatino.iooryell at him on Twitter (@hugh_jeremy).