{ "info": { "author": "Dude Revolucion", "author_email": "duderevolucion@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3.4", "Topic :: Utilities" ], "description": "================\nCLOUD FTP CLIENT\n================\n\n\nIntroduction\n============\n\nThe cftp package provides an ftp-like interface to cloud-based\nstorage services. It is basically a wrapper. It abstracts\nthe user from the particulars of specific cloud storage services\nby exposing a common interface. Accessing the interface is\nsimple. Instantiate a class corresponding to a desired\ncloud storage service (eg, Amazon S3). The class has methods\ncorresponding to common ftp client commands. \n\nThe current version includes the four files\nnoted below.\n\n1. base.py - abstract base class for cloud ftp client\n2. base_exceptions.py - exceptions raised by base.py\n3. s3.py - ftp-like client interface to Amazon's S3 service\n4. s3_exceptions.py - exceptions raised by s3.py\n5. __main__.py - shim for s3ftp command line script (console script)\n\nOver time, this package may be extended to include an\nftp-like client interface to the DropBox storage services. That\nfunctionality would be implemented as a sub-class of base.py,\njust as s3.py is a sub-class. The same is true for other\ncloud-based storage services that offer an API.\n\n\nInstallation\n============\n\nInstall using *pip* or *easy_install*. The cftp package does\nrequire Amazon's boto3 package, which exposes an API for controlling\nAWS objects using python. The boto3 package will be automatically\ninstalled (via pip or easy_install), since it is listed as a\ndependency in this package.\n\nThis package also includes a tool called *s3ftp* that provides \ncommand line, ftp-like access to the Amazon S3 service.\n\n\n\nConfiguration\n=============\n\nBefore using this package, you will need to setup AWS authentication\ncredentials as required by boto3. See the following URL:\n\nhttps://boto3.readthedocs.org/en/latest/guide/quickstart.html#configuration\n\nThis distribution also includes a file called, *s3ftp.json*. It\ncontains default parameters used when reading or writing objects in\nan S3 bucket. For example, it can be used to specify if/how\nobjects are encrypted or to add metadata to objects. Edit this\nfile to reflect desired default parameters. Then copy it to your\nhome directory and rename to *.s3ftp.json*. The parameters include\nthose allowed in the *extraArgs* argument to the S3Transfer functions\n*download_file* and *upload_file*.\n\nThe *S3FtpClient* constructor looks for a *.s3ftp.json* file\nfirst in the current working directory and then in the user's\nhome directory. If it finds this file, then it loads default\nparameters for S3 objects from there. The constructor may also\nbe called with an argument that specifies default object parameters.\nIf so, these are merged with defaults read from the *.s3ftp.json*\nfile. If a particular default is specified in both the\n*.s3ftp.json* file and the constructor argument, then the\nlatter takes precedence.\n\nNote that when running s3ftp interactively, it is not yet\npossible to change these parameters without quitting, editing\n*.s3ftp.json* and restarting. However, the S3FtpClient class\ndoes have methods to get and set the default parameters.\n\nHandling of incorrectly specified defaults is rudimentary\nright now. \n\n\n\nUsing the *s3ftp* Command Line Utility\n======================================\n\nThe following illustrates using the interactive *s3ftp* command line\nutility. It assumes the existence of an Amazon S3 bucket, in this\nthis case a notional bucket named *com.s3ftp.test*.\n\nThe following connects to a bucket, lists its contents,\nchanges the remote working directory (in the bucket),\nchanges the local working directory, creates a directory\nin the bucket, uploads a file to it, multiple gets several files,\ndeletes a file from the bucket, closes the bucket, opens a\nnew bucket, lists its contents, and quits. Below does not\nshow s3ftp output.\n\n s3ftp com.s3ftp.test\n\n ls\n\n cd dir1/dir2\n\n lcd ~\n\n mkdir dir3\n\n put file1\n\n mget f*.txt\n\n delete file2\n\n close\n\n open com.s3ftp2.test2\n\n ls\n\n close\n\n quit\n\n\nNotes\n=====\n\nThe Amazon S3 client above does not support creation or deletion\nof S3 buckets. It assumes the bucket already exists. This is\nconsistent with behavior of a traditional ftp client in that it\nis accessing existing storage (on an ftp server).\n\nThis software has been tested on Linux but not Windows or\nMac OS platforms.\n\nThe S3FtpClient object (and associated s3ftp utility) do not\nprovide the ability to examine S3 object parameters, such as\nmetadata and content-type. This could be added in the future\nas an auxiliary (non-ftp) command.\n\n\n\nChanges in this Release\n=======================\n\nRearchitected the internal design of the BaseFtpClient and\nthe S3FtpClient. Moved more implementation-independent functionality\ninto the BaseFTPClient. Created abstract methods in the base\nclient that can be overridden to implement functionality\nspecific to Amazon S3 or other cloud providers.\n\nMade some internal bug fixes to handling of the extraArgs\nparameters in the S3FtpClient.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/duderevolucion/cftp", "keywords": "cloud s3 amazon ftp", "license": "GNU", "maintainer": "", "maintainer_email": "", "name": "cftp", "package_url": "https://pypi.org/project/cftp/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/cftp/", "project_urls": { "Homepage": "http://github.com/duderevolucion/cftp" }, "release_url": "https://pypi.org/project/cftp/0.4.1a0/", "requires_dist": null, "requires_python": "", "summary": "FTP-like client for interacting with cloud storage", "version": "0.4.1a0" }, "last_serial": 1955497, "releases": { "0.1a0": [ { "comment_text": "", "digests": { "md5": "91baf87b0232fedd0f0b82029d0b1ced", "sha256": "9d4930d02c31810982439c3c43eb429cdbf01f1976999225cd951c4e79613a37" }, "downloads": -1, "filename": "cftp-0.1a0.tar.gz", "has_sig": false, "md5_digest": "91baf87b0232fedd0f0b82029d0b1ced", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7555, "upload_time": "2016-01-16T12:26:12", "url": "https://files.pythonhosted.org/packages/2e/0b/cc7969ff5b16d1f22b795f2e212c37de2df93890df3a3db52af6f7acaa1c/cftp-0.1a0.tar.gz" } ], "0.1b0": [ { "comment_text": "", "digests": { "md5": "88649f686a3d3164b208d6b9095ed1df", "sha256": "5de4c522877d051971777370a0049416f401bc05482d6d5be0648efa204cc2f5" }, "downloads": -1, "filename": "cftp-0.1b0.tar.gz", "has_sig": false, "md5_digest": "88649f686a3d3164b208d6b9095ed1df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7775, "upload_time": "2016-01-25T22:22:32", "url": "https://files.pythonhosted.org/packages/f2/92/02abbd3d6f88f58deabf0ad6bade498f228ef457ede2b1237543e7ce45da/cftp-0.1b0.tar.gz" } ], "0.2.1a0": [ { "comment_text": "", "digests": { "md5": "0c613fc9eacbb545b9340e27ccbeb2bc", "sha256": "f09b8ee4c465559bbdb53384984f154af052f47341914b0a97536e250b31feb3" }, "downloads": -1, "filename": "cftp-0.2.1a0.tar.gz", "has_sig": false, "md5_digest": "0c613fc9eacbb545b9340e27ccbeb2bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8669, "upload_time": "2016-01-27T13:33:34", "url": "https://files.pythonhosted.org/packages/e6/57/ceb86a2a1461fd926a76b2497c328daca6dbc39c7044a32e1bbeffa7a578/cftp-0.2.1a0.tar.gz" } ], "0.2a0": [ { "comment_text": "", "digests": { "md5": "102ac2cce722f4601845aaa3fa8eb225", "sha256": "a930d97ca5bf308c671ec28ff144e8babb28fa1144b4fdb7e272322f508fe4bb" }, "downloads": -1, "filename": "cftp-0.2a0.tar.gz", "has_sig": false, "md5_digest": "102ac2cce722f4601845aaa3fa8eb225", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8671, "upload_time": "2016-01-26T20:06:51", "url": "https://files.pythonhosted.org/packages/dd/00/79c7fd37cdbb8d6e41307064007c406e9d7bee20239a001bd2377c488326/cftp-0.2a0.tar.gz" } ], "0.3.0a0": [ { "comment_text": "", "digests": { "md5": "7dadd7a43c03ffa6f864c461d574551f", "sha256": "1f97c758e3f6dffcb433a13fb42dad99bd98c0fbd58802dc8ce103f05acd6f82" }, "downloads": -1, "filename": "cftp-0.3.0a0.tar.gz", "has_sig": false, "md5_digest": "7dadd7a43c03ffa6f864c461d574551f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11092, "upload_time": "2016-01-30T15:03:40", "url": "https://files.pythonhosted.org/packages/11/f5/45ee474abaf78c7edb2eb69ac047f298a911c51d42dd32a3d3ff7e518903/cftp-0.3.0a0.tar.gz" } ], "0.3.1a0": [ { "comment_text": "", "digests": { "md5": "5d0b1470059ae66fc5ed945293fb3400", "sha256": "c52924fbf318977128ed52b2d9c62134b7d4600bfa33bdb0df4a760291475b02" }, "downloads": -1, "filename": "cftp-0.3.1a0.tar.gz", "has_sig": false, "md5_digest": "5d0b1470059ae66fc5ed945293fb3400", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11354, "upload_time": "2016-01-31T12:53:22", "url": "https://files.pythonhosted.org/packages/f8/32/be4cb7ee5ffa617ebc86654058f7caf4f58f5e70f40d8a05bf114334a6b8/cftp-0.3.1a0.tar.gz" } ], "0.4.1a0": [ { "comment_text": "", "digests": { "md5": "50bb63fcea9ce9e06824d81ac94ce57b", "sha256": "21bf7bce3b8cbb8e47185743931f86b7f2b874c7882aab5e16fededb2dfc97d7" }, "downloads": -1, "filename": "cftp-0.4.1a0.tar.gz", "has_sig": false, "md5_digest": "50bb63fcea9ce9e06824d81ac94ce57b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11966, "upload_time": "2016-02-14T12:38:32", "url": "https://files.pythonhosted.org/packages/f9/af/6f23907be7b1748afade47869628101130e66169bfc485c16de0d5504568/cftp-0.4.1a0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "50bb63fcea9ce9e06824d81ac94ce57b", "sha256": "21bf7bce3b8cbb8e47185743931f86b7f2b874c7882aab5e16fededb2dfc97d7" }, "downloads": -1, "filename": "cftp-0.4.1a0.tar.gz", "has_sig": false, "md5_digest": "50bb63fcea9ce9e06824d81ac94ce57b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11966, "upload_time": "2016-02-14T12:38:32", "url": "https://files.pythonhosted.org/packages/f9/af/6f23907be7b1748afade47869628101130e66169bfc485c16de0d5504568/cftp-0.4.1a0.tar.gz" } ] }