{ "info": { "author": "Gabriel Lasaro", "author_email": "gabriellasarosaleze@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# ArqueaDB\nUm pequeno banco de dados NoSQL feito em Python.\n\nA small NoSQL database made in Python.\n\n### Corre\u00e7\u00f5es v0.2.2\n- Resolvido um pequeno problema encontrado no tratamento de par\u00e2metros de algumas fun\u00e7\u00f5es;\n- Novo recurso: \"python3 -m arquea --error-list\" para obter a lista de erros.\n\n### Altera\u00e7\u00f5es v0.2.0\n- Resolvido o problema de formata\u00e7\u00e3o dos diret\u00f3rios no Windows;\n- Remo\u00e7\u00e3o de alguns c\u00f3digos redundantes;\n- Retornos em tuple no lugar de list em algumas fun\u00e7\u00f5es;\n- Altera\u00e7\u00e3o na fun\u00e7\u00e3o insert_one();\n- Nova fun\u00e7\u00e3o de inser\u00e7\u00e3o: insert_many() para inserir listas de dicion\u00e1rios;\n- Nova fun\u00e7\u00e3o get_current_collection() retorno a cole\u00e7\u00e3o definida;\n- Nova fun\u00e7\u00e3o get_current_directory() retorna o diret\u00f3rio de opera\u00e7\u00e3o atual;\n- Agumas corre\u00e7\u00f5es nas fun\u00e7\u00f5es create_database(), find_document(), updade() e remove();\n- Nova funcionalidade na fun\u00e7\u00e3o connect(directory, collection), \u00e9 permitido passar a cole\u00e7\u00e3o diretamente nela;\n- Nova fun\u00e7\u00e3o checksum_sha256(objectId) retorna uma hash (sha256) do documento solicitado (aceita somente objectId como par\u00e2metro de busca);\n- Tabela de c\u00f3digo de erros atualizada e pequena altera\u00e7\u00e3o na fun\u00e7\u00e3o de retorno de erro.\n\n## Documenta\u00e7\u00e3o\n\n### Instala\u00e7\u00e3o\nVoc\u00ea pode instalar o ArqueaDB atravez do pip:\n\n pip install arquea\n\n### Criar um banco de dados\nPara criar um banco de dados execute o seguinte comando no diret\u00f3rio desejado:\n\n python3 -m arquea --create name_database\n\nOu:\n\n from arquea import Arquea\n db = Arquea()\n db.create_database(\"name_database\")\n\n### Conex\u00e3o:\nPara se conecatar com o banco de dados arquea \u00e9 somente necess\u00e1rio passar o diret\u00f3rio em que se encontra o banco.\n\n from arquea import Arquea\n db = Arquea()\n con = db.connec(\"/home/user/arqueadb/aq-db/\")\n if con['status']!=200:\n print(con)\n print('Erro ao conectar-se ao banco de dados!')\n\n### Cole\u00e7\u00f5es:\n#### Para criar uma cole\u00e7\u00e3o use o comando:\n\n db.create_collection('user_profile')\n\n#### Para obter todas as cole\u00e7\u00f5es\n\n print(db.get_collections())\n\n#### Definir cole\u00e7\u00e3o\nPara pesquisar, atualizar, inserir e remover qualquer arquivo, \u00e9 necess\u00e1rio definir um cole\u00e7\u00e3o.\n\n db.set_collection('user_profile')\n\n#### Lista de documentos\nA fun\u00e7\u00e3o get_documents() retorna a lista de documente de uma cole\u00e7\u00e3o.\n\n print(db.get_documents())\n\n#### Pesquisar\nA fun\u00e7\u00e3o find_document() aceita 3 (tr\u00eas) par\u00e2metros, sendo: um valor de busca, uma lista com o caminho at\u00e9 o valor, e, o limite de retorno, sendo (0) ilimitado.\n\n {'items':{\n 'name':'Pedro',\n 'phone':'999999999'\n }}\n\n print(db.find_document('Pedro', ['items', 'name'], 1))\n\n#### Inserir\nA fun\u00e7\u00e3o insert_one() aceita um par\u00e2metro, sendo um dicion\u00e1rio Python.\n\n db.insert_one({'_id':123456, 'name':'Pedro'})\n\nA fun\u00e7\u00e3o insert_many() aceita um par\u00e2metro, sendo do tipo lista ou tupla Python.\n\n list_items = [\n {'name':'Pedro', 'age':38},\n {'name':'Maria', 'age':37}\n ]\n\n db.insert_many(list_items)\n\nSe n\u00e3o for definido a chave-valor \"_id\" ser\u00e1 gerado um automaticamente. Lembrando que o (objectId) n\u00e3o pode ser atualizado.\n\n#### Atualizar\nA fun\u00e7\u00e3o update() aceita 4 (quatro) par\u00e2metros, sendo: um valor de busca, uma lista com o caminho at\u00e9 o valor, informa\u00e7\u00e3o atualizada, e, o limite.\n\n db.update('Pedro', ['items', 'name'], {'items':{'name':'Sr. Pedro'}}, 1)\n\n#### Remover\nA fun\u00e7\u00e3o remove() aceita 3 (par\u00e2metros), sendo: um valor de busca, uma lista com o caminho at\u00e9 o valor, e, o limite.\n\n db.remove('value', ['key'], 0)\n\n#### Observa\u00e7\u00e3o\nA fun\u00e7\u00e3o get_last_err() funciona somente com as fun\u00e7\u00f5es: checksum_sha256(), get_documents(), find_document(), update(), remove().\n\nCuidado com o uso desta fun\u00e7\u00e3o.\n\n print(db.get_last_err())\n\n### Outras fun\u00e7\u00f5es:\n\n#### Vers\u00e3o do banco de bados\nA fun\u00e7\u00e3o get_db_info() retorna a vers\u00e3o do banco de dados conectado. Estando esses dados armanzenados no arquivo \"conf.arquea\" de cada banco.\n\n print(db.get_db_info())\n\n### Lista de erros:\n\n 200:'OK',\n 300:'Vers\u00e3o do banco de dados n\u00e3o \u00e9 compat\u00edvel',\n 301:'N\u00e3o foi poss\u00edvel determinar a vers\u00e3o do banco de dados',\n 302:'Erro de sintaxe no arquivo \"conf.arquea\"',\n 404:'Diret\u00f3rio do banco de dados n\u00e3o encontrado.',\n 406:'Cole\u00e7\u00e3o solicitada n\u00e3o encontrada',\n 408:'N\u00e3o \u00e9 poss\u00edvel provar ser um banco de dados ArqueaDB. Faltando arquivo \"conf.arquea\".',\n 500:'Erro desconhecido',\n 501:'Par\u00e2metro inv\u00e1lido ou nulo',\n 502:'Erro ao criar cole\u00e7\u00e3o',\n 503:'J\u00e1 existe uma cole\u00e7\u00e3o/objeto com est\u00e1 identifica\u00e7\u00e3o',\n 504:'Erro ao criar banco de dados',\n 505:'J\u00e1 existe um diret\u00f3rio/documento com este nome',\n 506:'Nenhum documento encontrado',\n 508:'A\u00e7\u00e3o n\u00e3o permitida',\n 509:'Faltando dados para validar opera\u00e7\u00e3o'\n\nExemplo de retorno:\n\n {'status': 404, 'message': 'Diret\u00f3rio do banco de dados n\u00e3o encontrado.'}\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gabriellasaro.github.io/arqueadb/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "arquea", "package_url": "https://pypi.org/project/arquea/", "platform": "", "project_url": "https://pypi.org/project/arquea/", "project_urls": { "Homepage": "https://gabriellasaro.github.io/arqueadb/" }, "release_url": "https://pypi.org/project/arquea/0.2.2/", "requires_dist": null, "requires_python": "", "summary": "Um pequeno banco de dados NoSQL feito em Python.", "version": "0.2.2" }, "last_serial": 4682871, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b864491b7298edd2e34c1643e7184db8", "sha256": "ae9567d7aad9e3dfa481e92f129f74465389473fcd6eff6452a6b8a11e3770c7" }, "downloads": -1, "filename": "arquea-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b864491b7298edd2e34c1643e7184db8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7676, "upload_time": "2018-08-29T17:23:19", "url": "https://files.pythonhosted.org/packages/5b/24/e9e07c59ded79b3d681c4908f6373bae3141a57e9723a9dcbe7cec31105c/arquea-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d1ceaa844183de678523d217d0ae8b1", "sha256": "44e1a9c6d502735c054ae8fceb78e372e74fce3ff9300c5287335c9b5530608c" }, "downloads": -1, "filename": "arquea-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9d1ceaa844183de678523d217d0ae8b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5734, "upload_time": "2018-08-29T17:23:20", "url": "https://files.pythonhosted.org/packages/f3/48/d4514440d6aebee44731db2edda07cc84c6a7436619292f1347fc87f65f1/arquea-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "736597c6bc5303024d3ebf8760baf3b7", "sha256": "d55ad00debfc23f43680cb26566292c250633aecc72d46cb8e801e552dd2524d" }, "downloads": -1, "filename": "arquea-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "736597c6bc5303024d3ebf8760baf3b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10042, "upload_time": "2018-12-07T00:03:37", "url": "https://files.pythonhosted.org/packages/b1/39/84d2e87723f9d5348a628edff914cb7be4aa62781f4ce869da0792ce9a89/arquea-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d61f07767bd1d7473001de6ae6fe1049", "sha256": "1dbae7fc650997979bea46a834fe49a17942d10a7bfb5f85179b664037c20e8b" }, "downloads": -1, "filename": "arquea-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d61f07767bd1d7473001de6ae6fe1049", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6971, "upload_time": "2018-12-07T00:03:38", "url": "https://files.pythonhosted.org/packages/b8/f0/810f0d19d601c1221a4468b56a930a0cea489320d857485ff7baddeb8d04/arquea-0.2.0.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "c69864bca4990f0dfe17bacb876347f5", "sha256": "088f9e9bf5ef813adb7fe1a97ab009a9056c1f3a386d761dcebf11a07b806b6b" }, "downloads": -1, "filename": "arquea-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c69864bca4990f0dfe17bacb876347f5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10325, "upload_time": "2019-01-10T21:54:55", "url": "https://files.pythonhosted.org/packages/ed/09/e7b37fe1f2c5939718a3d18ae3783b9759be88df9e58780cf4edbbd2efc7/arquea-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "818ace77f12958f365e8019a5af61705", "sha256": "5cbfbcc442b536745d919738546d25f7d517061cfb9b87a68e2684e1f55179dc" }, "downloads": -1, "filename": "arquea-0.2.2.tar.gz", "has_sig": false, "md5_digest": "818ace77f12958f365e8019a5af61705", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7241, "upload_time": "2019-01-10T21:54:57", "url": "https://files.pythonhosted.org/packages/80/54/113e79b2464430267d7d49488e59b2bb53f1a65a1b936706f4a3b46457d6/arquea-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c69864bca4990f0dfe17bacb876347f5", "sha256": "088f9e9bf5ef813adb7fe1a97ab009a9056c1f3a386d761dcebf11a07b806b6b" }, "downloads": -1, "filename": "arquea-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c69864bca4990f0dfe17bacb876347f5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10325, "upload_time": "2019-01-10T21:54:55", "url": "https://files.pythonhosted.org/packages/ed/09/e7b37fe1f2c5939718a3d18ae3783b9759be88df9e58780cf4edbbd2efc7/arquea-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "818ace77f12958f365e8019a5af61705", "sha256": "5cbfbcc442b536745d919738546d25f7d517061cfb9b87a68e2684e1f55179dc" }, "downloads": -1, "filename": "arquea-0.2.2.tar.gz", "has_sig": false, "md5_digest": "818ace77f12958f365e8019a5af61705", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7241, "upload_time": "2019-01-10T21:54:57", "url": "https://files.pythonhosted.org/packages/80/54/113e79b2464430267d7d49488e59b2bb53f1a65a1b936706f4a3b46457d6/arquea-0.2.2.tar.gz" } ] }