{ "info": { "author": "Andrew Lorente", "author_email": "andrew.lorente@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Catsnap\n=======\n\nCatsnap is a tool for managing your pictures. Never again will you lose your collection to a faulty hard drive. Never again will you run into upload limits, bandwidth maximums, or service closures.\n\nHow it works\n------------\n\nCatsnap uses Amazon S3 and a PostgreSQL database to store and organize your images. Images are hosted for public access on S3, and each image can have one or more tags associated with it. Images can also be in an album, to organize sets of related images.\n\nOnce you store an image, you can look it up by its tags or album. Easy!\n\nIf you like, you can `check out my catsnap instance `_ to see what it looks like once running.\n\nSetting up Catsnap\n------------------\n\nCatsnap uses a web service to provide you access to your images. Let's walk through the process of getting it set up.\n\nFirst, you'll need to create `an Amazon WebServices account `_, if you don't already have one. This may take a bit of time, so be patient. Amazon will require a credit card, but the cost of running catsnap will be tiny--a few cents a month, at most.\n\nOnce you have an AWS account, you can `create a bucket `_ in S3 where your images will be stored. Pick a name that makes sense to you--I use \"catsnap-andrewlorente\".\n\nOptionally, you may wish to `create a cloudfront distribution `_ so people can download your images lightning-fast.\n\nNow that you've got your S3 bucket set up, you'll want a catsnap server. Catsnap is a snap to set up on Heroku, and this guide assumes you'll do that. You can also run it on your own server, if you prefer.\n\nTo run catsnap on Heroku, you'll first need to sign up. Like Amazon, Heroku will want your credit card information, but you'll be able to run catsnap on their free tier. Heroku has `an excellent getting-started guide `_. Go ahead and follow the first few steps of that, until you can successfully run ``heroku login``.\n\nRunning a heroku app requires having a local checkout of your code. Clone Catsnap from Github:\n\n ``git clone git@github.com:AndrewLorente/catsnap.git``\n\nChange into the catsnap directory and use the heroku toolkit to create a new app:\n\n ``heroku create``\n\nDeploy catsnap to Heroku:\n\n ``git push heroku master``\n\nNow create a free-tier Postgres database for Catsnap to use:\n\n ``heroku addons:add heroku-postgresql:dev``\n\nThe output from this command will include a line like:\n\n ``Attached as HEROKU_POSTGRESQL_RED``\n\nPromote that database to production (replace \"COLOR\" with the correct color from the previous command's output):\n\n ``heroku pg:promote HEROKU_POSTGRESQL_COLOR_URL``\n\nHave Catsnap set the database up with the tables you need, and your database is ready to go:\n\n ``heroku run yoyo-migrate -b apply migrations '$DATABASE_URL'``\n\nThe last thing you'll need to do is configure Catsnap for your personal use. Configure all of the following environment variables with ``heroku config:set VARIABLE_NAME value``\n * CATSNAP_API_KEY is a secret key the client and server share for authentication. It can be any string of characters. You should keep it secret!\n * CATSNAP_AWS_ACCESS_KEY_ID and CATSNAP_AWS_SECRET_ACCESS_KEY: find the values for these two variables `on your AWS account page `_.\n * CATSNAP_BUCKET: the S3 bucket that you set up earlier.\n * CATSNAP_SECRET_KEY: a secret key to use when generating session identifiers. Like the API key, this can be any string of characters.\n * CATSNAP_OWNER_ID: an OpenID provider that identifies you as the owner of this catsnap installation. I recommend using your Google account, in which case you would set this to ``https://www.google.com/accounts/o8/id``.\n * CATSNAP_OWNER_EMAIL: the email address associated with your OpenID url.\n * CATSNAP_CLOUDFRONT_URL: (optional) the host for your cloudfront distribution, if you made one. Note this should be a full url, including \"https://\".\n\nNow your catsnap server is all set up! Navigate to the url for your Heroku app and you're ready to start adding images.\n\nUsing Catsnap\n-------------\n\nIt is very straightforward to use the web interface. Search in the search box to find images you've previously stored. Use the upload or upload-by-url inputs to add new images.\n\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "github.com/andrewlorente/catsnap", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "catsnap", "package_url": "https://pypi.org/project/catsnap/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/catsnap/", "project_urls": { "Download": "UNKNOWN", "Homepage": "github.com/andrewlorente/catsnap" }, "release_url": "https://pypi.org/project/catsnap/4.2.0/", "requires_dist": null, "requires_python": null, "summary": "catalog and store images", "version": "4.2.0" }, "last_serial": 807630, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "69e1c6ea52e6c7434cd4edb3179c7c87", "sha256": "687b7661dc489169450bb25f93cb7b58bc31403c3fd11782afaf8282aa0de286" }, "downloads": -1, "filename": "catsnap-1.0.0.tar.gz", "has_sig": false, "md5_digest": "69e1c6ea52e6c7434cd4edb3179c7c87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6309, "upload_time": "2012-07-09T08:32:16", "url": "https://files.pythonhosted.org/packages/57/ee/ffb4f3eb0c3736713a2ca7ab518a020c343f1c63ab663b417e530d43cdb2/catsnap-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "bb5c1e77444f57445516de5567c2151a", "sha256": "df21e398a92b2c1b6f5ece25afbd57379739de5f6567b329c201e47f9adcd22a" }, "downloads": -1, "filename": "catsnap-1.1.0.tar.gz", "has_sig": false, "md5_digest": "bb5c1e77444f57445516de5567c2151a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6377, "upload_time": "2012-07-13T05:48:07", "url": "https://files.pythonhosted.org/packages/db/c7/d3975a45d129fcbe921e15cd8611a5b3a527efacd326d8407dc3310c72c6/catsnap-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "4affbf5808136637450ffc607a55e704", "sha256": "0996daa3163171964bb43544bc62ff6d162dfbed93c7f3491809d169f7aba059" }, "downloads": -1, "filename": "catsnap-1.2.0.tar.gz", "has_sig": false, "md5_digest": "4affbf5808136637450ffc607a55e704", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6677, "upload_time": "2012-07-18T03:30:43", "url": "https://files.pythonhosted.org/packages/01/aa/31a511b6cb24bafbfca24f07d4322b15c1649fcf5e2080f15d886c3f5f3c/catsnap-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "64aaced64e521e780cb253756680512c", "sha256": "99331fc851b8eb3f325ced923bddc74a8f503fd76dfdb44c3619a91cba577632" }, "downloads": -1, "filename": "catsnap-1.3.0.tar.gz", "has_sig": false, "md5_digest": "64aaced64e521e780cb253756680512c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7630, "upload_time": "2012-07-19T03:30:57", "url": "https://files.pythonhosted.org/packages/89/51/47ac84312eb1d7746312a03a27a0ea5990d320c1a0b9bb0d251468c5a1ed/catsnap-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "82ae3929a0624bc244bc9f2b4fd65a6d", "sha256": "881a5c4e39b7a1ae1f46de7c04a54847c7c734d13c90af94c2951a4e42f8a6ed" }, "downloads": -1, "filename": "catsnap-1.3.1.tar.gz", "has_sig": false, "md5_digest": "82ae3929a0624bc244bc9f2b4fd65a6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7843, "upload_time": "2012-07-23T05:02:16", "url": "https://files.pythonhosted.org/packages/ab/a6/5e44c4fddde5cc26beac67543a14e7cfcc8299c198a314255472427a1882/catsnap-1.3.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "89999c040a1dc87c58e9251ebf3407a0", "sha256": "1938853509a4e860f4e1f10d35c0627cb576ca34f3e2f42214b2e44f3f9d2a5b" }, "downloads": -1, "filename": "catsnap-2.0.0.tar.gz", "has_sig": false, "md5_digest": "89999c040a1dc87c58e9251ebf3407a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7950, "upload_time": "2012-08-27T02:32:40", "url": "https://files.pythonhosted.org/packages/e4/e8/2ede106e5ced238ea68a27b72cbcbdecee75db3909336f419261db0d5e39/catsnap-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "9ab59aa59cad33bd7a831de88afd5d6e", "sha256": "9828836e3894d5506f7ca64e5a57dfbd10baa1109a0eef6ef8659ebc75577e10" }, "downloads": -1, "filename": "catsnap-2.0.1.tar.gz", "has_sig": false, "md5_digest": "9ab59aa59cad33bd7a831de88afd5d6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8926, "upload_time": "2012-08-27T16:22:01", "url": "https://files.pythonhosted.org/packages/81/a5/9ef2b847e73a09ac5edca62aa7862b223202e14fa4c62e27003fd0c2f050/catsnap-2.0.1.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "8a5b0607ba97d5cbe97c2c4354ccc5a1", "sha256": "109bec5e360b7fa903da525877bcd4266abf1193724342bde4ffb30ee38961b6" }, "downloads": -1, "filename": "catsnap-2.1.0.tar.gz", "has_sig": false, "md5_digest": "8a5b0607ba97d5cbe97c2c4354ccc5a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10122, "upload_time": "2012-09-14T04:54:42", "url": "https://files.pythonhosted.org/packages/ce/62/98a52b7025cb6b281839f3cc7315251f3140815df7317ebbf7c56156c278/catsnap-2.1.0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "cc6bc669933ffcafa712bb9f3ddc91db", "sha256": "70f3d7d569788cf5c5f2c8c405d8803ed4b515669c7c5472a69e4654c6056082" }, "downloads": -1, "filename": "catsnap-2.2.0.tar.gz", "has_sig": false, "md5_digest": "cc6bc669933ffcafa712bb9f3ddc91db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10158, "upload_time": "2012-09-26T03:36:37", "url": "https://files.pythonhosted.org/packages/bd/91/5297e53f1d3b1e9598a25528bd15b3067f76ba8d6e5465b81245414c5158/catsnap-2.2.0.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "b2452dce390a0471f95215e35489f675", "sha256": "ab4654af84994d46e8e9b227d12afd8185e4362bb9555e7571b7456f142f75d7" }, "downloads": -1, "filename": "catsnap-2.3.0.tar.gz", "has_sig": false, "md5_digest": "b2452dce390a0471f95215e35489f675", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10252, "upload_time": "2012-10-23T02:59:18", "url": "https://files.pythonhosted.org/packages/28/77/2b8dce580b0a7eae3ad9295d53b26b64e80f6cf62a52d8e4529b196828ee/catsnap-2.3.0.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "a2875bdcc1d535f5383a571be27aa4ee", "sha256": "461ed6dbb83875d9cd2a821cbb69346d92ad7f4e1de108d905ecb05c7f707de3" }, "downloads": -1, "filename": "catsnap-3.0.0.tar.gz", "has_sig": false, "md5_digest": "a2875bdcc1d535f5383a571be27aa4ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11114, "upload_time": "2013-03-13T01:27:17", "url": "https://files.pythonhosted.org/packages/f4/3d/089063a592c8789248269a05909b59a64c371ce5679e698a34e2aa36bfac/catsnap-3.0.0.tar.gz" } ], "3.0.0b1": [ { "comment_text": "", "digests": { "md5": "b6f716a6546bd0e7e79960635099f53c", "sha256": "bda4e36378d86324de0152160c3c3f7f9a5759bd99796145060468a3beace3ee" }, "downloads": -1, "filename": "catsnap-3.0.0b1.tar.gz", "has_sig": false, "md5_digest": "b6f716a6546bd0e7e79960635099f53c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10144, "upload_time": "2012-12-27T22:11:55", "url": "https://files.pythonhosted.org/packages/68/13/0aee039b4a8d961bd6652febe5005b7a3decb7f0a6c722b66185adda48a0/catsnap-3.0.0b1.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "78cb1d015c59c32aee172c9cf18c5661", "sha256": "30746c3cf9b86c9eed9518c27b46d93349642a28e7f729080157de9c684720c4" }, "downloads": -1, "filename": "catsnap-3.0.1.tar.gz", "has_sig": false, "md5_digest": "78cb1d015c59c32aee172c9cf18c5661", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10225, "upload_time": "2013-04-12T15:30:37", "url": "https://files.pythonhosted.org/packages/3d/a5/3ed0f73b5e937bb79c78ebe2425333622da9888d19f8f40a7ef1c100e537/catsnap-3.0.1.tar.gz" } ], "4.0.0": [ { "comment_text": "", "digests": { "md5": "4c102a32845d2ce2b11919f9c2ce4ba8", "sha256": "1b7245a9dd0c027a48554e12946df42f4069384d9ad950b71e86784d24f1b3a0" }, "downloads": -1, "filename": "catsnap-4.0.0.tar.gz", "has_sig": false, "md5_digest": "4c102a32845d2ce2b11919f9c2ce4ba8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11661, "upload_time": "2013-05-12T16:21:53", "url": "https://files.pythonhosted.org/packages/30/8a/268230b03b90cb8952814c8e2ebebec1e86498a9c14453ef53b4298680be/catsnap-4.0.0.tar.gz" } ], "4.0.1": [ { "comment_text": "", "digests": { "md5": "407ed9c81d41f81a469fd1639042de66", "sha256": "77183784eb1c9354a8728c9503c5a7595e9731321f94f7dc4cabe8f935b736d3" }, "downloads": -1, "filename": "catsnap-4.0.1.tar.gz", "has_sig": false, "md5_digest": "407ed9c81d41f81a469fd1639042de66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11678, "upload_time": "2013-05-12T16:37:16", "url": "https://files.pythonhosted.org/packages/78/1c/a9e4afb76112ce85cd4e0d8280abacb46b0db30154de858134b6449872f4/catsnap-4.0.1.tar.gz" } ], "4.0.2": [ { "comment_text": "", "digests": { "md5": "cf173a90298a08f77498be5ff71c1bfc", "sha256": "1191c3f7f0f4e65ab1e8fb3ce8494aa6f2480c242c16907557e010cfc2260843" }, "downloads": -1, "filename": "catsnap-4.0.2.tar.gz", "has_sig": false, "md5_digest": "cf173a90298a08f77498be5ff71c1bfc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11695, "upload_time": "2013-05-19T05:14:25", "url": "https://files.pythonhosted.org/packages/91/aa/cde301fbc7935b4bc6e1da9389573fdd53f773444570a1b9d949b07295e5/catsnap-4.0.2.tar.gz" } ], "4.1.0": [ { "comment_text": "", "digests": { "md5": "7e723855252699e886baa0676e4f9d6e", "sha256": "049bb8f779f6d4205661bc53f26c80dce28d693cecb9e3b6749c944c5f627848" }, "downloads": -1, "filename": "catsnap-4.1.0.tar.gz", "has_sig": false, "md5_digest": "7e723855252699e886baa0676e4f9d6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11798, "upload_time": "2013-05-23T03:39:46", "url": "https://files.pythonhosted.org/packages/16/d1/0a8eeef4eeef29a1c997fb30938a1a282c333a18dd03d264435cf7479c7d/catsnap-4.1.0.tar.gz" } ], "4.1.1": [ { "comment_text": "", "digests": { "md5": "9a87269959113f92849c66f80e003a1b", "sha256": "c0cda0172317c83f324dae87c1a8ed5bc16bdfd8cd74ebfd0ebacbf39bc02315" }, "downloads": -1, "filename": "catsnap-4.1.1.tar.gz", "has_sig": false, "md5_digest": "9a87269959113f92849c66f80e003a1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11797, "upload_time": "2013-05-23T15:20:21", "url": "https://files.pythonhosted.org/packages/09/55/5e1ab8e0db88aa16c0cb7b206f7dd20ddc62f35a5caf7b582a42755af2f6/catsnap-4.1.1.tar.gz" } ], "4.1.2": [ { "comment_text": "", "digests": { "md5": "c6d6ca524c5c869dc15b5b0c44ca15af", "sha256": "fd31b495c87a22d64b6f4840f566b35d321f4a308c7fd3713cba195d82c7dae3" }, "downloads": -1, "filename": "catsnap-4.1.2.tar.gz", "has_sig": false, "md5_digest": "c6d6ca524c5c869dc15b5b0c44ca15af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12618, "upload_time": "2013-05-29T00:55:36", "url": "https://files.pythonhosted.org/packages/57/0f/4fb500a5c91e6ea26ac94ee2a08dba9fb3bfd4a30682e66ffdd2a4ffcb07/catsnap-4.1.2.tar.gz" } ], "4.2.0": [ { "comment_text": "", "digests": { "md5": "866b26bfd90da6df0528fdfc8c212582", "sha256": "834a6a054470127d830d2995829a4fc20dae5b5b034676a55ace45663d3182f0" }, "downloads": -1, "filename": "catsnap-4.2.0.tar.gz", "has_sig": false, "md5_digest": "866b26bfd90da6df0528fdfc8c212582", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13545, "upload_time": "2013-07-04T00:15:22", "url": "https://files.pythonhosted.org/packages/c4/73/21628f6dc80f15181576367aaf8c63c224fa04b233fa1fbd56c688d2aceb/catsnap-4.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "866b26bfd90da6df0528fdfc8c212582", "sha256": "834a6a054470127d830d2995829a4fc20dae5b5b034676a55ace45663d3182f0" }, "downloads": -1, "filename": "catsnap-4.2.0.tar.gz", "has_sig": false, "md5_digest": "866b26bfd90da6df0528fdfc8c212582", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13545, "upload_time": "2013-07-04T00:15:22", "url": "https://files.pythonhosted.org/packages/c4/73/21628f6dc80f15181576367aaf8c63c224fa04b233fa1fbd56c688d2aceb/catsnap-4.2.0.tar.gz" } ] }