{ "info": { "author": "Marcin Swiderski, Sebastian Opalczynski", "author_email": "marcin.swiderski@syncano.com, sebastian.opalczynski@syncano.com", "bugtrack_url": null, "classifiers": [], "description": "Syncano command line tool\n=========================\n\nTable of contents\n=================\n\n1. `Build Status`_\n2. `Installation`_\n3. `Documentation`_\n4. `Registration`_\n5. `Instances`_\n6. `Syncano sync`_\n7. `Syncano Parse migration tool`_\n8. `Syncano Hosting`_\n9. `Custom Sockets`_\n10. `Config`_\n11. `Running scripts`_\n12. `Issues`_\n\nBuild Status\n============\n\n**Master**\n\n.. image:: https://circleci.com/gh/Syncano/syncano-cli/tree/master.svg?style=svg\n :target: https://circleci.com/gh/Syncano/syncano-cli/tree/master\n\n**Develop**\n\n.. image:: https://circleci.com/gh/Syncano/syncano-cli/tree/develop.svg?style=svg\n :target: https://circleci.com/gh/Syncano/syncano-cli/tree/develop\n\nInstallation\n============\n\nTo install Syncano CLI tool::\n\n pip install syncano-cli\n\n**Usage:**\n\nFirst you need to login into your Syncano account\n\n::\n\n syncano login --instance-name patient-resonance-4283\n\nIt will ask you for your email and password. After successfully logging in your Account Key (admin key) \nwill be stored in *${HOME}/.syncano* file. You can also override an Account Key later with *--key* option.\n\nThe instance name will be set as default and used in all CLI commands.\n\nIf you want to override this setting for a specific command, use --instance-name eg::\n\n syncano sync --instance-name new-instance-1234 pull\n \nIf you need to change default instance name, used for all future commands, use::\n\n syncano default name_of_new_default_instance\n\n\nIf you do not have an Syncano account use `syncano init` command::\n\n syncano init\n\nAnd follow the steps. CLI will ask you about `email` and `password`, it will also create an Instance for you.\nAfter `syncano init` you can start with getting the list of your Instances::\n\n syncano instances list\n\n\nTo obtain a help, type::\n\n syncano --help\n\nTo display a help for specific command, type::\n\n syncano instances --help\n\nAnd::\n\n syncano instances list --help\n\n\nDocumentation\n=============\n\nYou can read detailed documentation `here `_.\n\n\nRegistration\n============\n\nYou can register into Syncano using CLI::\n\n syncano register my_email@example.com\n\nYou will be asked about password in prompt. Provide it. When you see the information about successful registration\n- you can start using CLI.\n\nThe following options can be used (but this is not obligatory)::\n\n --first-name # this is your first name;\n --last-name # this is yout last name;\n --invitation-key # the invitation key if someone invite you to using Syncano;\n\n\nWhen registration is successful - the `api_key` will be set in CLI config - and it's ready to use. The next step should\nbe - creating an instance - please see below.\n\n\nInstances\n=========\n\n**How CLI handles connection?**\n\nAlmost each (except some `global` commands - like register) CLI command will send a request to the Syncano instance.\nTo handle this properly - you can specify --instance-name when login (if you already have one). This instance will be\nused in all API calls then. You can check which instance is `default` by listing the instances::\n\n syncano instances list\n\nIn the output - if the instance is default - there will be a `(default)` string near the instance name.\n\nThe instance name can be also overwritten on particular call::\n\n syncano sockets --instance-name my_custom_instance list\n\nEg.: if your default instance is `my_instance_name` and you run above command - the custom sockets from instance\n`my_custom_instance` will be displayed, and again::\n\n syncano sockets list\n\nWill display custom sockets from `my_instance_name` - because it is set to be a default one.\n\nAfter a registration - there's no default instance set. So it's desired to create one and set it as default::\n\n syncano instances create my_new_instance\n syncano instances default my_new_instance\n\nIt's worth to note that `instance_name` must be unique - but you will get appropriate message if you encounter such case.\n\nCLI provides an interface for managing instances. The commands are:\n\n- Instance create::\n\n syncano instances create my_instance_name\n\n- Instance list::\n\n syncano instances list\n\n- Instance delete::\n\n syncano delete my_instance_name\n\n- Instance details::\n\n syncano details my_instance_name\n\n- Set instance as default for using in CLI commands::\n\n syncano default my_instance_name\n\nIn delete and details argument `my_instance_name` - can be omitted, the default instance will be used.\nDeletion will ask you for confirmation - as deleting an instance is quite a big thing.\n\nSyncano sync\n============\n\nPulling your instance classes and scripts\n-----------------------------------------\n\nIn order to pull your instance configuration, execute\n\n::\n\n syncano sync pull\n\nThis will fetch all Classes and Scripts into the current working directory, and\nstore configuration in *syncano.yml* file. If you want to pull only selected\nclasses/scripts you can add *-c/--class* or *-s/--script* option e.g.\n\n::\n\n syncano sync pull -c Class1 -c Class2 -s script_label_1 -s \"script label 2\"\n\nThe Scripts' source code is stored in the scripts subdirectory. Their names are based on\nscript labels. Keep in mind that script labels in Syncano are not unique, and\nthis tool cannot yet handle this kind of situation when pulling a Script from Syncano.\n\nClasses and Scripts configuration is stored in *syncano.yml* file. If this file already \nexists, only classes and scripts stored in this file will be pulled and updated. \nIf you want to pull the whole instance you can use *-a/--all* switch flag.\n\nPushing your changes\n--------------------\n\nAfter you have made changes to *syncano.yml* or any of the script's source code, \nyou can push the changes to Syncano using\n\n::\n\n syncano sync push\n\nIt will push only changes newer than the last synchronization time. \nAs last synchronization time we use *.sync* file last modification time. \nIf *syncano.yml* has changed, it will try to push all data to Syncano. Otherwise, \nit will just push the source code files for scripts that were changed. \nIf you want to force push all changes you can use *-a/--all* option.\n\nIf you only want to push changes from selected classes/scripts you can provide them\nwith *-c/--class* or *-s/--script* options like in the pull example above.\n\nSynchronize changes in real-time\n--------------------------------\n\nThere is an option to synchronize your project in real-time. When you change\nsyncano.yml or the source code of a script described in *syncano.yml*, your changes\nwill be automatically pushed to Syncano.\n\n::\n\n syncano sync watch\n\nThis command will push all of your project's configuration to Syncano and will\nwait for changes made to project files. When it detects that any file was modified,\nit will push those changes to Syncano.\n\n\nSyncano Parse migration tool\n============================\n\nThis tool will help you to move your data from Parse to Syncano.\n\n**Usage:**\n\nCurrently supports only transferring data. This tool takes the Parse schemas and transforms them to Syncano classes.\nThe next step is to move all of the data between Parse and Syncano. The last step is rebuilding the relations between\nobjects.\n\n\nConfiguration\n-------------\n\n::\n\n syncano migrate configure\n\nWill run the configuration that will ask you for the following variables:\n\n* PARSE_MASTER_KEY: the master key of your PARSE account;\n* PARSE_APPLICATION_ID: the application ID of the application that you want to transfer;\n* SYNCANO_ADMIN_API_KEY: Syncano Account Key;\n* SYNCANO_INSTANCE_NAME: the Syncano instance name to which the transfer will be made;\n\n`syncano migrate configure` command will take following parameters:\n\n* -c (--current) which will display the current configuration;\n* -f (--force) which allow to override the previously set configuration; \n\nThe configuration will be stored in your home directory in the .syncano file under the P2S section. \nIt's used to call the Parse API and Syncano API as well.\n\nRun migration\n-------------\n \n::\n\n syncano migrate parse\n\nThis command will run the synchronization process between Parse and Syncano. Sit back, relax, and read\nthe output.\n\nTips & Troubleshooting\n----------------------\n\n1. This tool currently does not support checking if an object is already present in the Syncano instance.\n If the sync is run twice, the data will be duplicated. To avoid this,\n simply remove your instance using Syncano dashboard;\n\n2. The whole process can be quite slow because of the throttling on both sides: Parse and Syncano on free trial accounts (which is the bottom boundary for scripts);\n\nSyncano Hosting\n===============\n\nSyncano Hosting is a simple way to host your static files on Syncano servers. \nThe CLI supports it in the following way:\n\nThis command will list currently defined hostings in the instance::\n\n syncano hosting list\n\nThis command will list files for currently hosted website (for `default` hosting)::\n\n syncano hosting list files\n\nThis command will publish all files inside ** to the default Syncano Hosting instance.\nWhen publishing the whole directory, the structure will be mapped on Syncano.::\n\n syncano hosting publish \n\n\nThis command will permamently delete the hosting::\n\n syncano hosting delete\n\nThis command will delete the specified file::\n\n syncano hosting delete hosting/file/path\n\nThis command will update single file::\n\n syncano hosting update hosting/file/path local/file/path\n\nFor each of the above command you can specify the domain to change just after hosting command, example::\n\n syncano hosting --domain staging publish \n\nWill create a new hosting which will be available under: `--staging.syncano.site`\nIf this hosting is also a default one, it will be available under: `.syncano.site`.\n\n\nCustom Sockets\n==============\n\nThis is a list of commands available for Custom Sockets. \nIf you want to know more about Custom Sockets, `read the detailed docs here `_.\n\nTo install a Custom Socket from a local file::\n\n syncano sockets install /path/to/dir\n\nTo install a Custom Socket from a URL::\n\n syncano sockets install https://web.path.to/your.file\n\nList all Custom Sockets::\n\n syncano sockets list\n\nList all defined endpoints (for all Custom Sockets)::\n\n syncano sockets list endpoints\n\nDisplay chosen Custom Socket details::\n\n syncano sockets details socket_name\n\nDisplay Custom Socket config (with name: `socket_name`)::\n\n syncano sockets config socket_name\n\nDelete a Custom Socket::\n\n syncano sockets delete socket_name\n\nCreate a template from a template stored in Syncano CLI::\n\n syncano sockets template /path/to/output_dir\n\nCreate a template from an existing Custom Socket::\n\n syncano sockets template /path/to/out --socket socket_name\n\nRun endpoint defined in Custom Socket::\n\n syncano sockets run socket_name/endpoint_name\n\nRun endpoint providing POST data::\n\n syncano sockets run socket_name/my_endpoint_12 POST -d one=1\n\n\nIn all of the above cases you can override the Syncano instance being used::\n\n --instance-name my_instance_name\n\neg.::\n\n syncano sockets --instance-name my_instance_name run socket_name/my_endpoint_12 POST -d one=1\n\nProviding the instance name this way will override the default instance name\ndefined during initial setup (*syncano login --instance-name my_instance*)\n\n\nConfig\n======\n\nTo display current instance config::\n\n syncano config\n\nTo add variable with name `name` and value `value` to the config::\n\n syncano config add name value\n\nTo modify existing config variable::\n\n syncano config modify name value\n\nTo delete existing config variable::\n\n syncano config delete name\n\nRunning scripts\n===============\n\nThis command will allow you to execute any script (Script Endpoint) with optional payload and read the output.\n\n**Usage:**\n\n::\n\n syncano execute -d key=value\n\n\nIssues\n======\n\n1. If you encounter any problems, have some improvement ideas or just wanna talk,\n please write to me directly: sebastian.opalczynski@syncano.com;\n\n2. Syncano team can be reached in multiple ways. Please do not hesitate to ask for help or share your thoughts. You can find us on:\n\n* Github: \n * https://github.com/Syncano/\n* Slack: \n * http://syncano-community.github.io/slack-invite/\n* Gitter:\n * https://gitter.im/Syncano/community\n * https://gitter.im/Syncano/community-pl\n* Support e-mail:\n * `support@syncano.io `_", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Syncano/syncano-cli", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "syncano-cli", "package_url": "https://pypi.org/project/syncano-cli/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/syncano-cli/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/Syncano/syncano-cli" }, "release_url": "https://pypi.org/project/syncano-cli/0.8/", "requires_dist": null, "requires_python": null, "summary": "Syncano command line utilities", "version": "0.8" }, "last_serial": 2367014, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "2481638d14ef353beb45a98b2947cd9c", "sha256": "feb8c45f080f17396c4b9465923906cbc7af6be4586c26ce55321ea5eac7c17a" }, "downloads": -1, "filename": "syncano-cli-0.1.tar.gz", "has_sig": false, "md5_digest": "2481638d14ef353beb45a98b2947cd9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7255, "upload_time": "2016-05-18T07:20:33", "url": "https://files.pythonhosted.org/packages/43/25/668f16b1c09f6174eeb6c47c8956b6cee82e54fa70b504a8bc55c12ae13d/syncano-cli-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "1380fe2b94f14b886935bc75587247ce", "sha256": "84ae6c70aee680c8a4f1a240ecb996e943b5f9bef57d99924e097473df4e9945" }, "downloads": -1, "filename": "syncano-cli-0.2.tar.gz", "has_sig": false, "md5_digest": "1380fe2b94f14b886935bc75587247ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7273, "upload_time": "2016-05-18T07:31:37", "url": "https://files.pythonhosted.org/packages/24/b1/e8e90cad1695d41f8958adbb195c8ed8d758a65174a2262800311e362229/syncano-cli-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "2ef4e83a5b821e2853f72f6b46b5f070", "sha256": "47fc0b87b2fb1bfea5d50e0f1d68fcc3253ba6f6de1283de3fba85ce09559399" }, "downloads": -1, "filename": "syncano-cli-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2ef4e83a5b821e2853f72f6b46b5f070", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8471, "upload_time": "2016-05-18T07:34:54", "url": "https://files.pythonhosted.org/packages/1c/92/a3eecbb3be318d66919d20a71c4f99f2ccb6777fd211a59521ea25affbfa/syncano-cli-0.2.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "c0de77ce7a2841b1f006a6445328a373", "sha256": "9df5a4c7d7281a22b29ccf262f4de5cadb8a55df63b9a22f981c36fd7c18d89a" }, "downloads": -1, "filename": "syncano-cli-0.3.tar.gz", "has_sig": false, "md5_digest": "c0de77ce7a2841b1f006a6445328a373", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8471, "upload_time": "2016-05-18T07:42:10", "url": "https://files.pythonhosted.org/packages/fd/61/9533c98d11d46e28902f2781a02d1c677dff569843c028c3653ec3c1d9cf/syncano-cli-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "71d0e56065758b7b44cb9f8cc54b8811", "sha256": "e32890d4829e6e2cc038bb452ed278314e18e1f0a1ef316b986c2db24379bd9b" }, "downloads": -1, "filename": "syncano-cli-0.4.tar.gz", "has_sig": false, "md5_digest": "71d0e56065758b7b44cb9f8cc54b8811", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24604, "upload_time": "2016-07-26T15:20:40", "url": "https://files.pythonhosted.org/packages/fb/e1/238d49f436c8c40763cb866ecdf621224ada523e190f07e242b8d2cd2453/syncano-cli-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "3d9e903a8f4a2b438011ca0030dc5169", "sha256": "8a91677487ca6546c398a6e5f155b3273af121e181eca8b393758a14685f883d" }, "downloads": -1, "filename": "syncano-cli-0.5.tar.gz", "has_sig": false, "md5_digest": "3d9e903a8f4a2b438011ca0030dc5169", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30670, "upload_time": "2016-08-26T10:14:55", "url": "https://files.pythonhosted.org/packages/c1/9b/2daa4d9243783ed9ad10bac6fd5cb935e10761234e67d79f7ab965e1b485/syncano-cli-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "fba340be1e6992f574ddfb5577981ad7", "sha256": "552aab4716961dc27b5de1041951bab6cf3ce8af4dddd53d9d4fe02e00aa11f8" }, "downloads": -1, "filename": "syncano-cli-0.6.tar.gz", "has_sig": false, "md5_digest": "fba340be1e6992f574ddfb5577981ad7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32847, "upload_time": "2016-08-31T10:40:50", "url": "https://files.pythonhosted.org/packages/f4/3e/13cf025d384d5b5e08f73ef8543ba25921ee464ed9b384ce1f7a42981b78/syncano-cli-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "5e3afc868f75c6a2925846049930ae12", "sha256": "db94ef311c516b433fc7dc3594bde77b9d3f6481f0b64b46a8a17fb8b85a6898" }, "downloads": -1, "filename": "syncano-cli-0.7.tar.gz", "has_sig": false, "md5_digest": "5e3afc868f75c6a2925846049930ae12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39273, "upload_time": "2016-09-13T11:27:57", "url": "https://files.pythonhosted.org/packages/b5/9b/ce9e4f3a2e144b7964c08aec1706ed45a72e39a52120a8e77ded15ce587e/syncano-cli-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "c071654cb9d39a3025cf0933a5610c38", "sha256": "de45b6b14691345d4b395e490e03d31a764e73e0d4caec424b97b35496d98a30" }, "downloads": -1, "filename": "syncano-cli-0.8.tar.gz", "has_sig": false, "md5_digest": "c071654cb9d39a3025cf0933a5610c38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43103, "upload_time": "2016-09-27T19:26:16", "url": "https://files.pythonhosted.org/packages/24/f2/ed861a93c883c20149ebfb969f5d48dd5f9645084e70f0f088656f8efa0b/syncano-cli-0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c071654cb9d39a3025cf0933a5610c38", "sha256": "de45b6b14691345d4b395e490e03d31a764e73e0d4caec424b97b35496d98a30" }, "downloads": -1, "filename": "syncano-cli-0.8.tar.gz", "has_sig": false, "md5_digest": "c071654cb9d39a3025cf0933a5610c38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43103, "upload_time": "2016-09-27T19:26:16", "url": "https://files.pythonhosted.org/packages/24/f2/ed861a93c883c20149ebfb969f5d48dd5f9645084e70f0f088656f8efa0b/syncano-cli-0.8.tar.gz" } ] }