/integresql-client-python

Python client for IntegreSQL

Primary LanguagePythonMIT LicenseMIT

integresql-client-python

integresql-client-python version integresql-client-python license integresql-client-python python compatibility Downloads say thanks!

Python client for IntegreSQL.

Current stable version

0.9.2

Python version

integresql-client-python is tested against Python 3.8+. Older Python versions may work, or may not.

How to use

from integresql_client_python import IntegreSQL

integresql = IntegreSQL('template_directory')

# integresql.debug = True

with integresql as tpl:
    with tpl.initialize() as dbinfo:
        # dbinfo is None if template is already initialized
        if dbinfo:
            # connect and import fixtures
            print("initialize db with fixtures with db data:", dbinfo)

    db = tpl.get_database()
    with db as dbinfo:
        # connect and do whatever you want
        print("Do your tests with db data:", dbinfo)

    # or manually, you can use as many databases as you need or IntegreSQL will allow
    dbinfo1 = db.open()
    print("Do your tests", dbinfo1)
    dbinfo2 = db.open()
    print("Do your tests", dbinfo2)
    dbinfo3 = db.open()
    print("Do your tests", dbinfo3)
    # connect and do whatever you want

    # do not forget about closing resources:
    db.close(dbinfo1)
    db.close(dbinfo2)
    db.close(dbinfo3)

Authors

Contact

If you like or dislike this software, please do not hesitate to tell me about it via email (marcin@urzenia.net).

If you find a bug or have an idea to enhance this tool, please use GitHub's issues.

ChangeLog

v0.9.2

  • fixed a bug where test database was returned to pool after every test and got reused. Renamed method Database.close() to Database.mark_unmodified(). Using Database in with block doesn't return selected database to pool anymore.

v0.9.1

  • allow using multiple template paths

v0.9.0

  • first public version