Metadata-Version: 1.1
Name: codeez
Version: 0.6
Summary: codeez python SDK
Home-page: https://www.github.com/antoinelarmanjat/codeez
Author: Antoine Larmanjat
Author-email: antoine_larmanjat@hotmail.com
License: MIT
Download-URL: https://github.com/antoinelarmanjat/codeez/archive/0.6.tar.gz
Description: Codeez is a package to access all codeez features.
        
        It consists of two separate classes: codeez itself and micro-service
        
        Codeez itself allows you to access all codeez functions on your account:
        - create a microservice or a website
        - access the list of micro-services and websites, whether they are yours, your team's or the community's
        - fork, delete a website or microservice
        - start or stop a microservice
        - store directory data
        - access the database of a microservice in case there is one
        
        All classes use the codeez apis. These apis are also available directly at https://api.codeez.tech
        
        to initialize a codeez session, provide the user id and the user authorization API key as follows:
        
        import codeez
        
        mycodeez = codeez.codeez('user','userauthorization') 
        where user is the user code and userauthorization is the user token that is provided at user creation time
        
        In the codeez class, here are the following functions:
        
        init: is used when thre codeez class is instantiated. Two parameters are set at that stage: User is your userID and Authorization is your APIkey.
        
        create_user: (self, email, password, FirstName, LastName, AccountAuthorization).
        To create a new user, you need to provide email, password (with at least upper, lower, number and special character), first name and last name and accountauthorization.
        The account authorization number is provided by codeez by your administrator when your account is created. Once validated the account administrator recieves a code that is required when creating a user.
        
        request_account(self, email, GroupName, Description):
        This is when an admnistrator requests the creation of an account. This goes in a queue and is managed by the codeez administrators to review the request. When deemed appropriate, the account is validated.
        Once validated by codeez, your will receive the account code that is required by the create_user function
        
        servicelist(self): returns the list of micro-services and websites where the user is either the author or the admin of the given account that he belongs to
        
        accountservicelist(self): returns the list of micro-services and websites of the account of the logged user. security works as follows:
        - The list returns all the micro-services and accounts where the user is NOT the author of the account whether the micro-service/website is private or not
        - If the micro-service/website is 'forkable' then  the user cannot see the code and cannot fork
        
        allservicelist(self): returns all micro-services/websites that are not part of the account of the logged user and are not private. Moreover, only those which are marked as forkable can be read (code) or forked.
        
        connection(self,name): return a psycopg2 connection object when the micro-service has a database (POSTGres). The codeez package does not include the psycopg2 package for size and performance reasons, so it tries to import it and if it fails returns an error.
        - If the microservice has a database but the psycopg2 is not installed, the function returns the host and port of the database, which always needs to be called with ssl mode as a requirement. The database name of the database is the name of the micro-service and an initial user is the user with the username and user authorization token.
        
        connection = psycopg2.connect(host=host, port=port, user=self.User, password=self.UserAuthorization, dbname=name, sslmode='require')
        
        logs(self,name): returns the logs of a micro-service/website as an array of all the containers running this micro-service:
        ["1":{logs of container 1},"2":{logs of container 2}]
        
        create(self,name,directory,type='MService',Description=None,Fork=False,Private=False,DB=False,ServiceName=None,ServiceAccount=None):
        To create a micro-service or a website:
        name is the name of the micro-service/website. Only small letters are allowed.
        directory is the directory where the code is located
        type is either MService (Python) or Site (anything that can be served by nginx).
        Desription
        Fork: if you allow other users to forkread your micro-service/website. Requires Private to be set to False.
        Private: Only you and your account admin can see/fork the micro-service/website
        DB: creates a Postgre database in case DB is set to yes
        ServiceName: in case of a 'Site', this is to attach a backend micro-service to the website. Calls to this backend micro-services are forward via /api/...
        ServiceAccount: Account of the micro-service that serves as the backend for the website
        
        This function returns the codeez url of the micro-service/website
        
        update(self,name,directory,type='MService',Description=None,DB=False,Fork=False,Private=False,ServiceName=None,ServiceAccount=None):
        Same as create. When updating, only the code is modified. The URL, host, etc. remain unchanged. If the microservice/website run on two containers, both containers are updated one after the other.
        If there is not database at creation time, the update creates the database when the DB is set to true
        
        delete((self,name):
        To delete a micro-service/website. If a Database is associated, the database is deleted as well.
        
        stop and start(self,name):
        To stop/start a micro-service/website. This function is very useful to reduce cost in case the micro-service needs to be used only during certain hours or when the micro-servicewebsite can be deleted after a certain period of time
        
        store(self,name,Content):
        To store, independently of the runtime container a byte stream (content) and give a name to the storage (name). Uses the S3 standard
        To retrieve the content of a given name
        
        There are three possibilities to access storage for codeez.
        
        1. By calling the store function in a codeez micro-service:
        
        WARNING: when importing the store function in a codeez micro-service, it works slightly differently:
        
        from storage import store
        from storage import retrieve
        
        a=store('name','content','User','UserKey')
        
        2. By using the codeez package in any Python script (including a codeez micro-service)
        
        import codeez
        
        a=codeez.codeez('User','UserKey')
        
        a.store('name','content')
        
        3. By using the generic codeez API: https://storage.codeez.tech/myfunction/store?Name='+Name
        
        where:
        headers['User']='User'
        headers['Authorization']='UserKey'
        
        and body=content
        
        Same to retrieve the content
        
        
        
        
Keywords: CODEEZ,SDK,PYTHON
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
