pycognitocli


Namepycognitocli JSON
Version 0.3.2 PyPI version JSON
download
home_pagehttps://gitlab.com/advian-oss/python-pycognitocli/
SummaryCLI for https://pypi.org/project/pycognito/
upload_time2023-03-20 11:06:15
maintainer
docs_urlNone
authorEero af Heurlin
requires_python>=3.8,<4.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ============
pycognitocli
============

CLI for https://pypi.org/project/pycognito/

Try::

    pycognitocli -p "region_mypool" -a "myappid" -cs "myappsecret" token get -u "username" -pw 'password'

Or export following environment variables:

  - COGNITO_POOL_ID
  - COGNITO_APP_ID
  - COGNITO_APP_SECRET
  - COGNITO_USERNAME
  - COGNITO_PASSWORD

You do not have to give the password (or username) on command-line, the app can prompt for it

Docker
------

For more controlled deployments and to get rid of "works on my computer" -syndrome, we always
make sure our software works under docker.

It's also a quick way to get started with a standard development environment.

SSH agent forwarding
^^^^^^^^^^^^^^^^^^^^

We need buildkit_::

    export DOCKER_BUILDKIT=1

.. _buildkit: https://docs.docker.com/develop/develop-images/build_enhancements/

And also the exact way for forwarding agent to running instance is different on OSX::

    export DOCKER_SSHAGENT="-v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock"

and Linux::

    export DOCKER_SSHAGENT="-v $SSH_AUTH_SOCK:$SSH_AUTH_SOCK -e SSH_AUTH_SOCK"

Creating a development container
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Build image, create container and start it (switch the 1234 port to the port from src/pycognitocli/defaultconfig.py)::

    docker build --ssh default --target devel_shell -t pycognitocli:devel_shell .
    docker create --name pycognitocli_devel -v `pwd`":/app" -it `echo $DOCKER_SSHAGENT` pycognitocli:devel_shell
    docker start -i pycognitocli_devel

pre-commit considerations
^^^^^^^^^^^^^^^^^^^^^^^^^

If working in Docker instead of native env you need to run the pre-commit checks in docker too::

    docker exec -i pycognitocli_devel /bin/bash -c "pre-commit install"
    docker exec -i pycognitocli_devel /bin/bash -c "pre-commit run --all-files"

You need to have the container running, see above. Or alternatively use the docker run syntax but using
the running container is faster::

    docker run -it --rm -v `pwd`":/app" pycognitocli:devel_shell -c "pre-commit run --all-files"

Test suite
^^^^^^^^^^

You can use the devel shell to run py.test when doing development, for CI use
the "tox" target in the Dockerfile::

    docker build --ssh default --target tox -t pycognitocli:tox .
    docker run -it --rm -v `pwd`":/app" `echo $DOCKER_SSHAGENT` pycognitocli:tox

Production docker
^^^^^^^^^^^^^^^^^

There's a "production" target as well for running the application (change the "1234" port and "myconfig.toml" for
config file)::

    docker build --ssh default --target production -t pycognitocli:latest .
    docker run -it --rm pycognitocli:latest pycognitocli -p "region_mypool" -a "myappid" -cs "myappsecret" token get -u "username" -pw 'password'


Local Development
-----------------

TLDR:

- Create and activate a Python 3.8 virtualenv (assuming virtualenvwrapper)::

    mkvirtualenv -p `which python3.8` my_virtualenv

- change to a branch::

    git checkout -b my_branch

- install Poetry: https://python-poetry.org/docs/#installation
- Install project deps and pre-commit hooks::

    poetry install
    pre-commit install
    pre-commit run --all-files

- Ready to go, try the following::

    pycognitocli --defaultconfig >config.toml
    pycognitocli -vv config.toml

Remember to activate your virtualenv whenever working on the repo, this is needed
because pylint and mypy pre-commit hooks use the "system" python for now (because reasons).

Running "pre-commit run --all-files" and "py.test -v" regularly during development and
especially before committing will save you some headache.


            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/advian-oss/python-pycognitocli/",
    "name": "pycognitocli",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Eero af Heurlin",
    "author_email": "eero.afheurlin@advian.fi",
    "download_url": "https://files.pythonhosted.org/packages/2a/82/d0607261a526197c09a9eb09423da38a6d8ca932be611bf733cd86687e23/pycognitocli-0.3.2.tar.gz",
    "platform": null,
    "description": "============\npycognitocli\n============\n\nCLI for https://pypi.org/project/pycognito/\n\nTry::\n\n    pycognitocli -p \"region_mypool\" -a \"myappid\" -cs \"myappsecret\" token get -u \"username\" -pw 'password'\n\nOr export following environment variables:\n\n  - COGNITO_POOL_ID\n  - COGNITO_APP_ID\n  - COGNITO_APP_SECRET\n  - COGNITO_USERNAME\n  - COGNITO_PASSWORD\n\nYou do not have to give the password (or username) on command-line, the app can prompt for it\n\nDocker\n------\n\nFor more controlled deployments and to get rid of \"works on my computer\" -syndrome, we always\nmake sure our software works under docker.\n\nIt's also a quick way to get started with a standard development environment.\n\nSSH agent forwarding\n^^^^^^^^^^^^^^^^^^^^\n\nWe need buildkit_::\n\n    export DOCKER_BUILDKIT=1\n\n.. _buildkit: https://docs.docker.com/develop/develop-images/build_enhancements/\n\nAnd also the exact way for forwarding agent to running instance is different on OSX::\n\n    export DOCKER_SSHAGENT=\"-v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock\"\n\nand Linux::\n\n    export DOCKER_SSHAGENT=\"-v $SSH_AUTH_SOCK:$SSH_AUTH_SOCK -e SSH_AUTH_SOCK\"\n\nCreating a development container\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nBuild image, create container and start it (switch the 1234 port to the port from src/pycognitocli/defaultconfig.py)::\n\n    docker build --ssh default --target devel_shell -t pycognitocli:devel_shell .\n    docker create --name pycognitocli_devel -v `pwd`\":/app\" -it `echo $DOCKER_SSHAGENT` pycognitocli:devel_shell\n    docker start -i pycognitocli_devel\n\npre-commit considerations\n^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIf working in Docker instead of native env you need to run the pre-commit checks in docker too::\n\n    docker exec -i pycognitocli_devel /bin/bash -c \"pre-commit install\"\n    docker exec -i pycognitocli_devel /bin/bash -c \"pre-commit run --all-files\"\n\nYou need to have the container running, see above. Or alternatively use the docker run syntax but using\nthe running container is faster::\n\n    docker run -it --rm -v `pwd`\":/app\" pycognitocli:devel_shell -c \"pre-commit run --all-files\"\n\nTest suite\n^^^^^^^^^^\n\nYou can use the devel shell to run py.test when doing development, for CI use\nthe \"tox\" target in the Dockerfile::\n\n    docker build --ssh default --target tox -t pycognitocli:tox .\n    docker run -it --rm -v `pwd`\":/app\" `echo $DOCKER_SSHAGENT` pycognitocli:tox\n\nProduction docker\n^^^^^^^^^^^^^^^^^\n\nThere's a \"production\" target as well for running the application (change the \"1234\" port and \"myconfig.toml\" for\nconfig file)::\n\n    docker build --ssh default --target production -t pycognitocli:latest .\n    docker run -it --rm pycognitocli:latest pycognitocli -p \"region_mypool\" -a \"myappid\" -cs \"myappsecret\" token get -u \"username\" -pw 'password'\n\n\nLocal Development\n-----------------\n\nTLDR:\n\n- Create and activate a Python 3.8 virtualenv (assuming virtualenvwrapper)::\n\n    mkvirtualenv -p `which python3.8` my_virtualenv\n\n- change to a branch::\n\n    git checkout -b my_branch\n\n- install Poetry: https://python-poetry.org/docs/#installation\n- Install project deps and pre-commit hooks::\n\n    poetry install\n    pre-commit install\n    pre-commit run --all-files\n\n- Ready to go, try the following::\n\n    pycognitocli --defaultconfig >config.toml\n    pycognitocli -vv config.toml\n\nRemember to activate your virtualenv whenever working on the repo, this is needed\nbecause pylint and mypy pre-commit hooks use the \"system\" python for now (because reasons).\n\nRunning \"pre-commit run --all-files\" and \"py.test -v\" regularly during development and\nespecially before committing will save you some headache.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "CLI for https://pypi.org/project/pycognito/",
    "version": "0.3.2",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "da22e3127479c74db84cbd8f785a2bfd6cd4e7fbe3131b761b89b73e28c49d69",
                "md5": "177c050f3975d0b3a429d99d03b58ede",
                "sha256": "5f76a83b9548547386c6cbbb8514ad96852d7f8dd65f2b344fd7a7250f5b819c"
            },
            "downloads": -1,
            "filename": "pycognitocli-0.3.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "177c050f3975d0b3a429d99d03b58ede",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 5196,
            "upload_time": "2023-03-20T11:06:14",
            "upload_time_iso_8601": "2023-03-20T11:06:14.275213Z",
            "url": "https://files.pythonhosted.org/packages/da/22/e3127479c74db84cbd8f785a2bfd6cd4e7fbe3131b761b89b73e28c49d69/pycognitocli-0.3.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a82d0607261a526197c09a9eb09423da38a6d8ca932be611bf733cd86687e23",
                "md5": "6e2242023cc2a4863e087ef954a3e026",
                "sha256": "aeb3a80542c10c9bf91a044b1a712ea63444a29ddb1a35b503882bcf9e560126"
            },
            "downloads": -1,
            "filename": "pycognitocli-0.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "6e2242023cc2a4863e087ef954a3e026",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 5252,
            "upload_time": "2023-03-20T11:06:15",
            "upload_time_iso_8601": "2023-03-20T11:06:15.946154Z",
            "url": "https://files.pythonhosted.org/packages/2a/82/d0607261a526197c09a9eb09423da38a6d8ca932be611bf733cd86687e23/pycognitocli-0.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-20 11:06:15",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "gitlab_user": "advian-oss",
    "gitlab_project": "python-pycognitocli",
    "lcname": "pycognitocli"
}
        
Elapsed time: 0.15791s