diff --git a/Server/Pipfile b/Server/Pipfile index 7b6815f8..a2221009 100644 --- a/Server/Pipfile +++ b/Server/Pipfile @@ -10,5 +10,8 @@ flask_cors = "*" thirdweb-sdk = "*" python-dotenv = "*" psycopg2 = "*" +matplotlib = "*" +lightkurve = "*" +nbformat = "*" [dev-packages] diff --git a/Server/Pipfile.lock b/Server/Pipfile.lock index b4267f5c..0a0a8de1 100644 --- a/Server/Pipfile.lock +++ b/Server/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "a63f487dff2f58c06a49601445fc0d7d98abe93421506ec625627bd23a5760a7" + "sha256": "aac26ea7e3d97081322f26e630092c3505654e8a80fbc0dc2b3830d98eb23382" }, "pipfile-spec": 6, "requires": {}, @@ -147,6 +147,50 @@ "markers": "python_version >= '3.7'", "version": "==1.3.1" }, + "astropy": { + "hashes": [ + "sha256:01428b886ed943a93df1e90cd9e64e1f030682ec8ec8f4b820da6f446a0386ff", + "sha256:19bee9fe18dc290935318d280e6a99fed319ce299a1e429b3b0b417425d52c53", + "sha256:1ce5debd2e7ccb5e80d3232cfdd7b144e280ae9ae79bfa401cfcd4133767ded7", + "sha256:1dbd2e454c34d72461aee2b41c8eae4a8e84d52f0570166a7fdd88ccdd4633ba", + "sha256:201215b727986df2a4a30c07bb1b07aedacff6de13733c6ed00637cef1f1bc9b", + "sha256:2189bf55dc7b3ee760d22bd16e330c543bb263f940f8a3a15c359b608df365be", + "sha256:2aeacb60fafe4b5d92d0cf07a3d0e9abb8c065e9357138898bf53914a5e6ec28", + "sha256:31cdc62c85ac31f149174bafc97252f1b367c228f8a07bd7066f2c810c78425a", + "sha256:41b23e91fcafa94c0d8215e22e350eec3e8c1a0aa4c049e9093e95e0ff952eb1", + "sha256:4536a62b86e0740463445f236a7c97e92ed6003645a0ed7f352f758f5e433d8e", + "sha256:4c6bbdb06cbeb8788ffb48ea80541e984a3e7c74d509e66278028f25e63ad336", + "sha256:58df87c1628b9a8930e697589b5e636d15d7fd7743721c67d9deff9956e5040d", + "sha256:67a43d2d212c8bbef16490f8ddf416b94f6c6458324362b15a75e2c0fa76c857", + "sha256:698fd8d8c7230fd47e51fdecab7d4d533e2e01a96ec0cb74b770c06314d9a698", + "sha256:69acd085b06a58a6fddb65974b9bcc0d0e7b7044f4bae28321074c0ba380de8e", + "sha256:6e97bd2c66ee919dee4e86bca5356e29e46270940f00a9dca4466ceccfb40c37", + "sha256:6f2e95b17299fddafc5f5dd547f3e04cf5e3ada9ef645f52ebb218ec8d2ed429", + "sha256:8957358f7e74dc213d1de12120d6845720e0f2c0f3ece5307e4e615e887de20d", + "sha256:8aae84bf559ca3a0820d1ce2a637c55cf4f96ebe3896b42a0d36f43dc219f5f9", + "sha256:a9817bebe275e6d31e45b7f2073038071553dbb21dc1c3a5ba9d277507eb84bb", + "sha256:c80d2d3a71c7bdf660890badacd072aa17b18d84fbd798b40c2a42ec1d652989", + "sha256:c993d86e6ff9620450d39620017deac8431f1d369e8c50bc8fe695f3f4c65340", + "sha256:d9b1c97a5cc079c48fbc8a470ca2c6d9da256866de6391b00a39ceab10a11416", + "sha256:e0dad969b05f73f38714d2dede4445a9ce9cd5fa8386b7f1f3a3122d4574a115", + "sha256:e210ac60fa747f54492a50a40961a7655916871abef3f0517a38687163766101", + "sha256:e609bad44954fc89b5c74f575a1983fe932efcdf077c60a38c8041ce1df399b3", + "sha256:ee8607afc3114a70f98365c29c02b709f4a6cc425dab98d83dfd9641013b1cb6", + "sha256:f6ae27a077f8ea84903efa76c790b985617341a0084b0d21c391f7a3f332ac23", + "sha256:fb6012b6ca8946ac890d08eb6d1900d66789cafa95c6e02096f1baa4f146e45c", + "sha256:fcdf88d2da4e2f1679ca921d81779af09e1925431b6db4adb36d74ff18219ec5", + "sha256:fd5702369d21a854989102f6e425cf51f94b8346cda4b0c0e82a80b4601f87ae" + ], + "markers": "python_version >= '3.8'", + "version": "==5.2.1" + }, + "astroquery": { + "hashes": [ + "sha256:307ca554cb734a0ca9a22f86f5effe7e413af913ae65e1578972d847b1fe13ee", + "sha256:e1bc4996af7500370837d31491bd4ee7f0c954c78d24cd54fb1cceb755469094" + ], + "version": "==0.4.6" + }, "async-timeout": { "hashes": [ "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15", @@ -163,6 +207,13 @@ "markers": "python_version >= '3.6'", "version": "==22.2.0" }, + "autograd": { + "hashes": [ + "sha256:a22a17e71c4a601359d544827762dd66d5ba50b287a8444d4f85ada1ee762ef6", + "sha256:d80bd225154d1db13cb4eaccf7a18c358be72092641b68717f96fcf1d16acd0b" + ], + "version": "==1.5" + }, "base58": { "hashes": [ "sha256:11a36f4d3ce51dfc1043f3218591ac4eb1ceb172919cebe05b52a5bcc8d245c2", @@ -171,6 +222,14 @@ "markers": "python_version >= '3.5'", "version": "==2.1.1" }, + "beautifulsoup4": { + "hashes": [ + "sha256:58d5c3d29f5a36ffeb94f02f0d786cd53014cf9b3b3951d42e0080d8a9498d30", + "sha256:ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693" + ], + "markers": "python_full_version >= '3.6.0'", + "version": "==4.11.1" + }, "bitarray": { "hashes": [ "sha256:021d5f69b6ed3d674d95c99d7e3f16c8f750f67ac7395592543807c36e706f0e", @@ -263,6 +322,14 @@ ], "version": "==2.6.2" }, + "bokeh": { + "hashes": [ + "sha256:1c28471ef5e6110ba5bed513137fd26054ebc4454bc768650eaeefc53b898a8a", + "sha256:d30e4f6220efc824c5da0dcb58138abed0e6a2d524c942409c8ca1098031e374" + ], + "markers": "python_version >= '3.8'", + "version": "==3.0.3" + }, "cbor2": { "hashes": [ "sha256:0b956f19e93ba3180c336282cd1b6665631f2d3a196a9c19b29a833bf979e7a4", @@ -313,6 +380,75 @@ "markers": "python_version >= '3.6'", "version": "==2022.12.7" }, + "cffi": { + "hashes": [ + "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5", + "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef", + "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104", + "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426", + "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405", + "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375", + "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a", + "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e", + "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc", + "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf", + "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185", + "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497", + "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3", + "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35", + "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c", + "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83", + "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21", + "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca", + "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984", + "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac", + "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd", + "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee", + "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a", + "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2", + "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192", + "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7", + "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585", + "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f", + "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e", + "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27", + "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b", + "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e", + "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e", + "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d", + "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c", + "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415", + "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82", + "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02", + "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314", + "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325", + "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c", + "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3", + "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914", + "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045", + "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d", + "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9", + "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5", + "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2", + "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c", + "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3", + "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2", + "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8", + "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d", + "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d", + "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9", + "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162", + "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76", + "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4", + "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e", + "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9", + "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6", + "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b", + "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01", + "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0" + ], + "version": "==1.15.1" + }, "charset-normalizer": { "hashes": [ "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845", @@ -329,6 +465,104 @@ "markers": "python_version >= '3.7'", "version": "==8.1.3" }, + "contourpy": { + "hashes": [ + "sha256:031154ed61f7328ad7f97662e48660a150ef84ee1bc8876b6472af88bf5a9b98", + "sha256:0f9d350b639db6c2c233d92c7f213d94d2e444d8e8fc5ca44c9706cf72193772", + "sha256:130230b7e49825c98edf0b428b7aa1125503d91732735ef897786fe5452b1ec2", + "sha256:152fd8f730c31fd67fe0ffebe1df38ab6a669403da93df218801a893645c6ccc", + "sha256:1c71fdd8f1c0f84ffd58fca37d00ca4ebaa9e502fb49825484da075ac0b0b803", + "sha256:24847601071f740837aefb730e01bd169fbcaa610209779a78db7ebb6e6a7051", + "sha256:2e9ebb4425fc1b658e13bace354c48a933b842d53c458f02c86f371cecbedecc", + "sha256:30676ca45084ee61e9c3da589042c24a57592e375d4b138bd84d8709893a1ba4", + "sha256:31a55dccc8426e71817e3fe09b37d6d48ae40aae4ecbc8c7ad59d6893569c436", + "sha256:366a0cf0fc079af5204801786ad7a1c007714ee3909e364dbac1729f5b0849e5", + "sha256:38e2e577f0f092b8e6774459317c05a69935a1755ecfb621c0a98f0e3c09c9a5", + "sha256:3c184ad2433635f216645fdf0493011a4667e8d46b34082f5a3de702b6ec42e3", + "sha256:3caea6365b13119626ee996711ab63e0c9d7496f65641f4459c60a009a1f3e80", + "sha256:3e927b3868bd1e12acee7cc8f3747d815b4ab3e445a28d2e5373a7f4a6e76ba1", + "sha256:4ee3ee247f795a69e53cd91d927146fb16c4e803c7ac86c84104940c7d2cabf0", + "sha256:54d43960d809c4c12508a60b66cb936e7ed57d51fb5e30b513934a4a23874fae", + "sha256:57119b0116e3f408acbdccf9eb6ef19d7fe7baf0d1e9aaa5381489bc1aa56556", + "sha256:58569c491e7f7e874f11519ef46737cea1d6eda1b514e4eb5ac7dab6aa864d02", + "sha256:5a011cf354107b47c58ea932d13b04d93c6d1d69b8b6dce885e642531f847566", + "sha256:5caeacc68642e5f19d707471890f037a13007feba8427eb7f2a60811a1fc1350", + "sha256:5dd34c1ae752515318224cba7fc62b53130c45ac6a1040c8b7c1a223c46e8967", + "sha256:60835badb5ed5f4e194a6f21c09283dd6e007664a86101431bf870d9e86266c4", + "sha256:62398c80ef57589bdbe1eb8537127321c1abcfdf8c5f14f479dbbe27d0322e66", + "sha256:6381fa66866b0ea35e15d197fc06ac3840a9b2643a6475c8fff267db8b9f1e69", + "sha256:64757f6460fc55d7e16ed4f1de193f362104285c667c112b50a804d482777edd", + "sha256:69f8ff4db108815addd900a74df665e135dbbd6547a8a69333a68e1f6e368ac2", + "sha256:6c180d89a28787e4b73b07e9b0e2dac7741261dbdca95f2b489c4f8f887dd810", + "sha256:71b0bf0c30d432278793d2141362ac853859e87de0a7dee24a1cea35231f0d50", + "sha256:769eef00437edf115e24d87f8926955f00f7704bede656ce605097584f9966dc", + "sha256:7f6979d20ee5693a1057ab53e043adffa1e7418d734c1532e2d9e915b08d8ec2", + "sha256:87f4d8941a9564cda3f7fa6a6cd9b32ec575830780677932abdec7bcb61717b0", + "sha256:89ba9bb365446a22411f0673abf6ee1fea3b2cf47b37533b970904880ceb72f3", + "sha256:8acf74b5d383414401926c1598ed77825cd530ac7b463ebc2e4f46638f56cce6", + "sha256:9056c5310eb1daa33fc234ef39ebfb8c8e2533f088bbf0bc7350f70a29bde1ac", + "sha256:95c3acddf921944f241b6773b767f1cbce71d03307270e2d769fd584d5d1092d", + "sha256:9e20e5a1908e18aaa60d9077a6d8753090e3f85ca25da6e25d30dc0a9e84c2c6", + "sha256:a1e97b86f73715e8670ef45292d7cc033548266f07d54e2183ecb3c87598888f", + "sha256:a877ada905f7d69b2a31796c4b66e31a8068b37aa9b78832d41c82fc3e056ddd", + "sha256:a9d7587d2fdc820cc9177139b56795c39fb8560f540bba9ceea215f1f66e1566", + "sha256:abf298af1e7ad44eeb93501e40eb5a67abbf93b5d90e468d01fc0c4451971afa", + "sha256:ae90d5a8590e5310c32a7630b4b8618cef7563cebf649011da80874d0aa8f414", + "sha256:b6d0f9e1d39dbfb3977f9dd79f156c86eb03e57a7face96f199e02b18e58d32a", + "sha256:b8d587cc39057d0afd4166083d289bdeff221ac6d3ee5046aef2d480dc4b503c", + "sha256:c5210e5d5117e9aec8c47d9156d1d3835570dd909a899171b9535cb4a3f32693", + "sha256:cc331c13902d0f50845099434cd936d49d7a2ca76cb654b39691974cb1e4812d", + "sha256:ce41676b3d0dd16dbcfabcc1dc46090aaf4688fd6e819ef343dbda5a57ef0161", + "sha256:d8165a088d31798b59e91117d1f5fc3df8168d8b48c4acc10fc0df0d0bdbcc5e", + "sha256:e7281244c99fd7c6f27c1c6bfafba878517b0b62925a09b586d88ce750a016d2", + "sha256:e96a08b62bb8de960d3a6afbc5ed8421bf1a2d9c85cc4ea73f4bc81b4910500f", + "sha256:ed33433fc3820263a6368e532f19ddb4c5990855e4886088ad84fd7c4e561c71", + "sha256:efb8f6d08ca7998cf59eaf50c9d60717f29a1a0a09caa46460d33b2924839dbd", + "sha256:efe99298ba37e37787f6a2ea868265465410822f7bea163edcc1bd3903354ea9", + "sha256:f99e9486bf1bb979d95d5cffed40689cb595abb2b841f2991fc894b3452290e8", + "sha256:fc1464c97579da9f3ab16763c32e5c5d5bb5fa1ec7ce509a4ca6108b61b84fab", + "sha256:fd7dc0e6812b799a34f6d12fcb1000539098c249c8da54f3566c6a6461d0dbad" + ], + "markers": "python_version >= '3.8'", + "version": "==1.0.7" + }, + "cryptography": { + "hashes": [ + "sha256:1a6915075c6d3a5e1215eab5d99bcec0da26036ff2102a1038401d6ef5bef25b", + "sha256:1ee1fd0de9851ff32dbbb9362a4d833b579b4a6cc96883e8e6d2ff2a6bc7104f", + "sha256:407cec680e811b4fc829de966f88a7c62a596faa250fc1a4b520a0355b9bc190", + "sha256:50386acb40fbabbceeb2986332f0287f50f29ccf1497bae31cf5c3e7b4f4b34f", + "sha256:6f97109336df5c178ee7c9c711b264c502b905c2d2a29ace99ed761533a3460f", + "sha256:754978da4d0457e7ca176f58c57b1f9de6556591c19b25b8bcce3c77d314f5eb", + "sha256:76c24dd4fd196a80f9f2f5405a778a8ca132f16b10af113474005635fe7e066c", + "sha256:7dacfdeee048814563eaaec7c4743c8aea529fe3dd53127313a792f0dadc1773", + "sha256:80ee674c08aaef194bc4627b7f2956e5ba7ef29c3cc3ca488cf15854838a8f72", + "sha256:844ad4d7c3850081dffba91cdd91950038ee4ac525c575509a42d3fc806b83c8", + "sha256:875aea1039d78557c7c6b4db2fe0e9d2413439f4676310a5f269dd342ca7a717", + "sha256:887cbc1ea60786e534b00ba8b04d1095f4272d380ebd5f7a7eb4cc274710fad9", + "sha256:ad04f413436b0781f20c52a661660f1e23bcd89a0e9bb1d6d20822d048cf2856", + "sha256:bae6c7f4a36a25291b619ad064a30a07110a805d08dc89984f4f441f6c1f3f96", + "sha256:c52a1a6f81e738d07f43dab57831c29e57d21c81a942f4602fac7ee21b27f288", + "sha256:e0a05aee6a82d944f9b4edd6a001178787d1546ec7c6223ee9a848a7ade92e39", + "sha256:e324de6972b151f99dc078defe8fb1b0a82c6498e37bff335f5bc6b1e3ab5a1e", + "sha256:e5d71c5d5bd5b5c3eebcf7c5c2bb332d62ec68921a8c593bea8c394911a005ce", + "sha256:f3ed2d864a2fa1666e749fe52fb8e23d8e06b8012e8bd8147c73797c506e86f1", + "sha256:f671c1bb0d6088e94d61d80c606d65baacc0d374e67bf895148883461cd848de", + "sha256:f6c0db08d81ead9576c4d94bbb27aed8d7a430fa27890f39084c2d0e2ec6b0df", + "sha256:f964c7dcf7802d133e8dbd1565914fa0194f9d683d82411989889ecd701e8adf", + "sha256:fec8b932f51ae245121c4671b4bbc030880f363354b2f0e0bd1366017d891458" + ], + "markers": "python_version >= '3.6'", + "version": "==39.0.0" + }, + "cycler": { + "hashes": [ + "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3", + "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f" + ], + "markers": "python_version >= '3.6'", + "version": "==0.11.0" + }, "cytoolz": { "hashes": [ "sha256:02975e2b1e61e47e9afa311f4c1783d155136fad37c54a1cebfe991c5a0798a1", @@ -514,6 +748,20 @@ "markers": "python_version >= '3.5' and python_version < '4' and python_full_version != '3.5.2'", "version": "==1.9.5" }, + "fastjsonschema": { + "hashes": [ + "sha256:01e366f25d9047816fe3d288cbfc3e10541daf0af2044763f3d0ade42476da18", + "sha256:21f918e8d9a1a4ba9c22e09574ba72267a6762d47822db9add95f6454e51cc1c" + ], + "version": "==2.16.2" + }, + "fbpca": { + "hashes": [ + "sha256:150677642479663f317fdbb5e06dab3f98721cf7031bb4a84113d7a631c472d1", + "sha256:1a06e770fb618a29f0ab57077dffa36e4501e7b339220bed2e7e712f3934b00e" + ], + "version": "==1.0" + }, "flask": { "hashes": [ "sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b", @@ -530,6 +778,14 @@ "index": "pypi", "version": "==3.0.10" }, + "fonttools": { + "hashes": [ + "sha256:2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1", + "sha256:820466f43c8be8c3009aef8b87e785014133508f0de64ec469e4efb643ae54fb" + ], + "markers": "python_version >= '3.7'", + "version": "==4.38.0" + }, "frozendict": { "hashes": [ "sha256:15b4b18346259392b0d27598f240e9390fafbff882137a9c48a1e0104fb17f78", @@ -633,6 +889,13 @@ "markers": "python_version >= '3.7'", "version": "==1.3.3" }, + "future": { + "hashes": [ + "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307" + ], + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==0.18.3" + }, "hexbytes": { "hashes": [ "sha256:21c3a5bd00a383097f0369c387174e79839d75c4ccc3a7edda315c9644f4458a", @@ -641,6 +904,14 @@ "markers": "python_version >= '3.7' and python_version < '4'", "version": "==0.3.0" }, + "html5lib": { + "hashes": [ + "sha256:0d78f8fde1c230e99fe37986a60526d7049ed4bf8a9fadbad5f00e22e58e041d", + "sha256:b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==1.1" + }, "idna": { "hashes": [ "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4", @@ -649,6 +920,14 @@ "markers": "python_version >= '3.5'", "version": "==3.4" }, + "importlib-metadata": { + "hashes": [ + "sha256:7efb448ec9a5e313a57655d35aa54cd3e01b7e1fbcf72dce1bf06119420f5bad", + "sha256:e354bedeb60efa6affdcc8ae121b73544a7aa74156d047311948f6d711cd378d" + ], + "markers": "python_version < '3.12'", + "version": "==6.0.0" + }, "ipfshttpclient": { "hashes": [ "sha256:0d80e95ee60b02c7d414e79bf81a36fc3c8fbab74265475c52f70b2620812135", @@ -665,6 +944,22 @@ "markers": "python_version >= '3.7'", "version": "==2.1.2" }, + "jaraco.classes": { + "hashes": [ + "sha256:2353de3288bc6b82120752201c6b1c1a14b058267fa424ed5ce5984e3b922158", + "sha256:89559fa5c1d3c34eff6f631ad80bb21f378dbcbb35dd161fd2c6b93f5be2f98a" + ], + "markers": "python_version >= '3.7'", + "version": "==3.2.3" + }, + "jeepney": { + "hashes": [ + "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806", + "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755" + ], + "markers": "sys_platform == 'linux'", + "version": "==0.8.0" + }, "jinja2": { "hashes": [ "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852", @@ -673,6 +968,14 @@ "markers": "python_version >= '3.7'", "version": "==3.1.2" }, + "joblib": { + "hashes": [ + "sha256:091138ed78f800342968c523bdde947e7a305b8594b910a0fea2ab83c3c6d385", + "sha256:e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018" + ], + "markers": "python_version >= '3.7'", + "version": "==1.2.0" + }, "jsonschema": { "hashes": [ "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163", @@ -680,6 +983,104 @@ ], "version": "==3.2.0" }, + "jupyter-core": { + "hashes": [ + "sha256:82e1cff0ef804c38677eff7070d5ff1d45037fef01a2d9ba9e6b7b8201831e9f", + "sha256:d23ab7db81ca1759f13780cd6b65f37f59bf8e0186ac422d5ca4982cc7d56716" + ], + "markers": "python_version >= '3.8'", + "version": "==5.1.3" + }, + "keyring": { + "hashes": [ + "sha256:771ed2a91909389ed6148631de678f82ddc73737d85a927f382a8a1b157898cd", + "sha256:ba2e15a9b35e21908d0aaf4e0a47acc52d6ae33444df0da2b49d41a46ef6d678" + ], + "markers": "python_version >= '3.7'", + "version": "==23.13.1" + }, + "kiwisolver": { + "hashes": [ + "sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b", + "sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166", + "sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c", + "sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c", + "sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0", + "sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4", + "sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9", + "sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286", + "sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767", + "sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c", + "sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6", + "sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b", + "sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004", + "sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf", + "sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494", + "sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac", + "sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626", + "sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766", + "sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514", + "sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6", + "sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f", + "sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d", + "sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191", + "sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d", + "sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51", + "sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f", + "sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8", + "sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454", + "sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb", + "sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da", + "sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8", + "sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de", + "sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a", + "sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9", + "sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008", + "sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3", + "sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32", + "sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938", + "sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1", + "sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9", + "sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d", + "sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824", + "sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b", + "sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd", + "sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2", + "sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5", + "sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69", + "sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3", + "sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae", + "sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597", + "sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e", + "sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955", + "sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca", + "sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a", + "sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea", + "sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede", + "sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4", + "sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6", + "sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686", + "sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408", + "sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871", + "sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29", + "sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750", + "sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897", + "sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0", + "sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2", + "sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09", + "sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c" + ], + "markers": "python_version >= '3.7'", + "version": "==1.4.4" + }, + "lightkurve": { + "hashes": [ + "sha256:81ac781acb7ebf42b3d5eb441aec4a84016daadb364ec21d7ee1b0e972d126a7", + "sha256:ba4770ae286cf3b418b79c3580d1965292dcc3f5083ed955803529d55f717b6f" + ], + "index": "pypi", + "version": "==2.3.0" + }, "lru-dict": { "hashes": [ "sha256:075b9dd46d7022b675419bc6e3631748ae184bc8af195d20365a98b4f3bb2914", @@ -789,6 +1190,60 @@ "markers": "python_version >= '3.7'", "version": "==2.1.2" }, + "matplotlib": { + "hashes": [ + "sha256:01b7f521a9a73c383825813af255f8c4485d1706e4f3e2ed5ae771e4403a40ab", + "sha256:11011c97d62c1db7bc20509572557842dbb8c2a2ddd3dd7f20501aa1cde3e54e", + "sha256:1183877d008c752d7d535396096c910f4663e4b74a18313adee1213328388e1e", + "sha256:12f999661589981e74d793ee2f41b924b3b87d65fd929f6153bf0f30675c59b1", + "sha256:1c235bf9be052347373f589e018988cad177abb3f997ab1a2e2210c41562cc0c", + "sha256:1f4d69707b1677560cd952544ee4962f68ff07952fb9069ff8c12b56353cb8c9", + "sha256:1fcc4cad498533d3c393a160975acc9b36ffa224d15a6b90ae579eacee5d8579", + "sha256:2787a16df07370dcba385fe20cdd0cc3cfaabd3c873ddabca78c10514c799721", + "sha256:29f17b7f2e068dc346687cbdf80b430580bab42346625821c2d3abf3a1ec5417", + "sha256:38d38cb1ea1d80ee0f6351b65c6f76cad6060bbbead015720ba001348ae90f0c", + "sha256:3f56a7252eee8f3438447f75f5e1148a1896a2756a92285fe5d73bed6deebff4", + "sha256:5223affa21050fb6118353c1380c15e23aedfb436bf3e162c26dc950617a7519", + "sha256:57ad1aee29043163374bfa8990e1a2a10ff72c9a1bfaa92e9c46f6ea59269121", + "sha256:59400cc9451094b7f08cc3f321972e6e1db4cd37a978d4e8a12824bf7fd2f03b", + "sha256:68d94a436f62b8a861bf3ace82067a71bafb724b4e4f9133521e4d8012420dd7", + "sha256:6adc441b5b2098a4b904bbf9d9e92fb816fef50c55aa2ea6a823fc89b94bb838", + "sha256:6d81b11ede69e3a751424b98dc869c96c10256b2206bfdf41f9c720eee86844c", + "sha256:73b93af33634ed919e72811c9703e1105185cd3fb46d76f30b7f4cfbbd063f89", + "sha256:77b384cee7ab8cf75ffccbfea351a09b97564fc62d149827a5e864bec81526e5", + "sha256:79e501eb847f4a489eb7065bb8d3187117f65a4c02d12ea3a19d6c5bef173bcc", + "sha256:809119d1cba3ece3c9742eb01827fe7a0e781ea3c5d89534655a75e07979344f", + "sha256:80c166a0e28512e26755f69040e6bf2f946a02ffdb7c00bf6158cca3d2b146e6", + "sha256:81b409b2790cf8d7c1ef35920f01676d2ae7afa8241844e7aa5484fdf493a9a0", + "sha256:994637e2995b0342699b396a320698b07cd148bbcf2dd2fa2daba73f34dd19f2", + "sha256:9ceebaf73f1a3444fa11014f38b9da37ff7ea328d6efa1652241fe3777bfdab9", + "sha256:9fb8fb19d03abf3c5dab89a8677e62c4023632f919a62b6dd1d6d2dbf42cd9f5", + "sha256:acc3b1a4bddbf56fe461e36fb9ef94c2cb607fc90d24ccc650040bfcc7610de4", + "sha256:bbddfeb1495484351fb5b30cf5bdf06b3de0bc4626a707d29e43dfd61af2a780", + "sha256:bbf269e1d24bc25247095d71c7a969813f7080e2a7c6fa28931a603f747ab012", + "sha256:bebcff4c3ed02c6399d47329f3554193abd824d3d53b5ca02cf583bcd94470e2", + "sha256:c3f08df2ac4636249b8bc7a85b8b82c983bef1441595936f62c2918370ca7e1d", + "sha256:ca94f0362f6b6f424b555b956971dcb94b12d0368a6c3e07dc7a40d32d6d873d", + "sha256:d00c248ab6b92bea3f8148714837937053a083ff03b4c5e30ed37e28fc0e7e56", + "sha256:d2cfaa7fd62294d945b8843ea24228a27c8e7c5b48fa634f3c168153b825a21b", + "sha256:d5f18430f5cfa5571ab8f4c72c89af52aa0618e864c60028f11a857d62200cba", + "sha256:debeab8e2ab07e5e3dac33e12456da79c7e104270d2b2d1df92b9e40347cca75", + "sha256:dfba7057609ca9567b9704626756f0142e97ec8c5ba2c70c6e7bd1c25ef99f06", + "sha256:e0a64d7cc336b52e90f59e6d638ae847b966f68582a7af041e063d568e814740", + "sha256:eb9421c403ffd387fbe729de6d9a03005bf42faba5e8432f4e51e703215b49fc", + "sha256:faff486b36530a836a6b4395850322e74211cd81fc17f28b4904e1bd53668e3e", + "sha256:ff2aa84e74f80891e6bcf292ebb1dd57714ffbe13177642d65fee25384a30894" + ], + "index": "pypi", + "version": "==3.6.3" + }, + "memoization": { + "hashes": [ + "sha256:fde5e7cd060ef45b135e0310cfec17b2029dc472ccb5bbbbb42a503d4538a135" + ], + "markers": "python_version >= '3.8' and python_version < '4.0'", + "version": "==0.4.0" + }, "moralis": { "hashes": [ "sha256:e5058b91a640831264f0694595b42c28ab1733abfca8db2ef73366b4ff22cc3b", @@ -797,6 +1252,14 @@ "index": "pypi", "version": "==0.1.18" }, + "more-itertools": { + "hashes": [ + "sha256:250e83d7e81d0c87ca6bd942e6aeab8cc9daa6096d12c5308f3f92fa5e5c1f41", + "sha256:5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab" + ], + "markers": "python_version >= '3.7'", + "version": "==9.0.0" + }, "multiaddr": { "hashes": [ "sha256:30b2695189edc3d5b90f1c303abb8f02d963a3a4edf2e7178b975eb417ab0ecf", @@ -892,6 +1355,14 @@ ], "version": "==0.4.3" }, + "nbformat": { + "hashes": [ + "sha256:22a98a6516ca216002b0a34591af5bcb8072ca6c63910baffc901cfa07fefbf0", + "sha256:4b021fca24d3a747bf4e626694033d792d594705829e5e35b14ee3369f9f6477" + ], + "index": "pypi", + "version": "==5.7.3" + }, "netaddr": { "hashes": [ "sha256:9666d0232c32d2656e5e5f8d735f58fd6c7457ce52fc21c98d45f2af78f990ac", @@ -899,12 +1370,189 @@ ], "version": "==0.8.0" }, + "numpy": { + "hashes": [ + "sha256:0044f7d944ee882400890f9ae955220d29b33d809a038923d88e4e01d652acd9", + "sha256:0e3463e6ac25313462e04aea3fb8a0a30fb906d5d300f58b3bc2c23da6a15398", + "sha256:179a7ef0889ab769cc03573b6217f54c8bd8e16cef80aad369e1e8185f994cd7", + "sha256:2386da9a471cc00a1f47845e27d916d5ec5346ae9696e01a8a34760858fe9dd2", + "sha256:26089487086f2648944f17adaa1a97ca6aee57f513ba5f1c0b7ebdabbe2b9954", + "sha256:28bc9750ae1f75264ee0f10561709b1462d450a4808cd97c013046073ae64ab6", + "sha256:28e418681372520c992805bb723e29d69d6b7aa411065f48216d8329d02ba032", + "sha256:442feb5e5bada8408e8fcd43f3360b78683ff12a4444670a7d9e9824c1817d36", + "sha256:6ec0c021cd9fe732e5bab6401adea5a409214ca5592cd92a114f7067febcba0c", + "sha256:7094891dcf79ccc6bc2a1f30428fa5edb1e6fb955411ffff3401fb4ea93780a8", + "sha256:84e789a085aabef2f36c0515f45e459f02f570c4b4c4c108ac1179c34d475ed7", + "sha256:87a118968fba001b248aac90e502c0b13606721b1343cdaddbc6e552e8dfb56f", + "sha256:8e669fbdcdd1e945691079c2cae335f3e3a56554e06bbd45d7609a6cf568c700", + "sha256:ad2925567f43643f51255220424c23d204024ed428afc5aad0f86f3ffc080086", + "sha256:b0677a52f5d896e84414761531947c7a330d1adc07c3a4372262f25d84af7bf7", + "sha256:b07b40f5fb4fa034120a5796288f24c1fe0e0580bbfff99897ba6267af42def2", + "sha256:b09804ff570b907da323b3d762e74432fb07955701b17b08ff1b5ebaa8cfe6a9", + "sha256:b162ac10ca38850510caf8ea33f89edcb7b0bb0dfa5592d59909419986b72407", + "sha256:b31da69ed0c18be8b77bfce48d234e55d040793cebb25398e2a7d84199fbc7e2", + "sha256:caf65a396c0d1f9809596be2e444e3bd4190d86d5c1ce21f5fc4be60a3bc5b36", + "sha256:cfa1161c6ac8f92dea03d625c2d0c05e084668f4a06568b77a25a89111621566", + "sha256:dae46bed2cb79a58d6496ff6d8da1e3b95ba09afeca2e277628171ca99b99db1", + "sha256:ddc7ab52b322eb1e40521eb422c4e0a20716c271a306860979d450decbb51b8e", + "sha256:de92efa737875329b052982e37bd4371d52cabf469f83e7b8be9bb7752d67e51", + "sha256:e274f0f6c7efd0d577744f52032fdd24344f11c5ae668fe8d01aac0422611df1", + "sha256:ed5fb71d79e771ec930566fae9c02626b939e37271ec285e9efaf1b5d4370e7d", + "sha256:ef85cf1f693c88c1fd229ccd1055570cb41cdf4875873b7728b6301f12cd05bf", + "sha256:f1b739841821968798947d3afcefd386fa56da0caf97722a5de53e07c4ccedc7" + ], + "markers": "python_version >= '3.8'", + "version": "==1.24.1" + }, + "oktopus": { + "hashes": [ + "sha256:54ac25dfc21ce3507e2ad4f080f2d5e692986414be50c84a0789aa03371ac7d9" + ], + "version": "==0.1.2" + }, + "packaging": { + "hashes": [ + "sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2", + "sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97" + ], + "markers": "python_version >= '3.7'", + "version": "==23.0" + }, + "pandas": { + "hashes": [ + "sha256:1e4285f5de1012de20ca46b188ccf33521bff61ba5c5ebd78b4fb28e5416a9f1", + "sha256:2651d75b9a167cc8cc572cf787ab512d16e316ae00ba81874b560586fa1325e0", + "sha256:2c21778a688d3712d35710501f8001cdbf96eb70a7c587a3d5613573299fdca6", + "sha256:32e1a26d5ade11b547721a72f9bfc4bd113396947606e00d5b4a5b79b3dcb006", + "sha256:3345343206546545bc26a05b4602b6a24385b5ec7c75cb6059599e3d56831da2", + "sha256:344295811e67f8200de2390093aeb3c8309f5648951b684d8db7eee7d1c81fb7", + "sha256:37f06b59e5bc05711a518aa10beaec10942188dccb48918bb5ae602ccbc9f1a0", + "sha256:552020bf83b7f9033b57cbae65589c01e7ef1544416122da0c79140c93288f56", + "sha256:5cce0c6bbeb266b0e39e35176ee615ce3585233092f685b6a82362523e59e5b4", + "sha256:5f261553a1e9c65b7a310302b9dbac31cf0049a51695c14ebe04e4bfd4a96f02", + "sha256:60a8c055d58873ad81cae290d974d13dd479b82cbb975c3e1fa2cf1920715296", + "sha256:62d5b5ce965bae78f12c1c0df0d387899dd4211ec0bdc52822373f13a3a022b9", + "sha256:7d28a3c65463fd0d0ba8bbb7696b23073efee0510783340a44b08f5e96ffce0c", + "sha256:8025750767e138320b15ca16d70d5cdc1886e8f9cc56652d89735c016cd8aea6", + "sha256:8b6dbec5f3e6d5dc80dcfee250e0a2a652b3f28663492f7dab9a24416a48ac39", + "sha256:a395692046fd8ce1edb4c6295c35184ae0c2bbe787ecbe384251da609e27edcb", + "sha256:a62949c626dd0ef7de11de34b44c6475db76995c2064e2d99c6498c3dba7fe58", + "sha256:aaf183a615ad790801fa3cf2fa450e5b6d23a54684fe386f7e3208f8b9bfbef6", + "sha256:adfeb11be2d54f275142c8ba9bf67acee771b7186a5745249c7d5a06c670136b", + "sha256:b6b87b2fb39e6383ca28e2829cddef1d9fc9e27e55ad91ca9c435572cdba51bf", + "sha256:bd971a3f08b745a75a86c00b97f3007c2ea175951286cdda6abe543e687e5f2f", + "sha256:c69406a2808ba6cf580c2255bcf260b3f214d2664a3a4197d0e640f573b46fd3", + "sha256:d3bc49af96cd6285030a64779de5b3688633a07eb75c124b0747134a63f4c05f", + "sha256:fd541ab09e1f80a2a1760032d665f6e032d8e44055d602d65eeea6e6e85498cb", + "sha256:fe95bae4e2d579812865db2212bb733144e34d0c6785c0685329e5b60fcb85dd" + ], + "markers": "python_full_version >= '3.7.1'", + "version": "==1.3.5" + }, "parsimonious": { "hashes": [ "sha256:3add338892d580e0cb3b1a39e4a1b427ff9f687858fdd61097053742391a9f6b" ], "version": "==0.8.1" }, + "patsy": { + "hashes": [ + "sha256:7eb5349754ed6aa982af81f636479b1b8db9d5b1a6e957a6016ec0534b5c86b7", + "sha256:bdc18001875e319bc91c812c1eb6a10be4bb13cb81eb763f466179dca3b67277" + ], + "version": "==0.5.3" + }, + "pillow": { + "hashes": [ + "sha256:013016af6b3a12a2f40b704677f8b51f72cb007dac785a9933d5c86a72a7fe33", + "sha256:0845adc64fe9886db00f5ab68c4a8cd933ab749a87747555cec1c95acea64b0b", + "sha256:0884ba7b515163a1a05440a138adeb722b8a6ae2c2b33aea93ea3118dd3a899e", + "sha256:09b89ddc95c248ee788328528e6a2996e09eaccddeeb82a5356e92645733be35", + "sha256:0dd4c681b82214b36273c18ca7ee87065a50e013112eea7d78c7a1b89a739153", + "sha256:0e51f608da093e5d9038c592b5b575cadc12fd748af1479b5e858045fff955a9", + "sha256:0f3269304c1a7ce82f1759c12ce731ef9b6e95b6df829dccd9fe42912cc48569", + "sha256:16a8df99701f9095bea8a6c4b3197da105df6f74e6176c5b410bc2df2fd29a57", + "sha256:19005a8e58b7c1796bc0167862b1f54a64d3b44ee5d48152b06bb861458bc0f8", + "sha256:1b4b4e9dda4f4e4c4e6896f93e84a8f0bcca3b059de9ddf67dac3c334b1195e1", + "sha256:28676836c7796805914b76b1837a40f76827ee0d5398f72f7dcc634bae7c6264", + "sha256:2968c58feca624bb6c8502f9564dd187d0e1389964898f5e9e1fbc8533169157", + "sha256:3f4cc516e0b264c8d4ccd6b6cbc69a07c6d582d8337df79be1e15a5056b258c9", + "sha256:3fa1284762aacca6dc97474ee9c16f83990b8eeb6697f2ba17140d54b453e133", + "sha256:43521ce2c4b865d385e78579a082b6ad1166ebed2b1a2293c3be1d68dd7ca3b9", + "sha256:451f10ef963918e65b8869e17d67db5e2f4ab40e716ee6ce7129b0cde2876eab", + "sha256:46c259e87199041583658457372a183636ae8cd56dbf3f0755e0f376a7f9d0e6", + "sha256:46f39cab8bbf4a384ba7cb0bc8bae7b7062b6a11cfac1ca4bc144dea90d4a9f5", + "sha256:519e14e2c49fcf7616d6d2cfc5c70adae95682ae20f0395e9280db85e8d6c4df", + "sha256:53dcb50fbdc3fb2c55431a9b30caeb2f7027fcd2aeb501459464f0214200a503", + "sha256:54614444887e0d3043557d9dbc697dbb16cfb5a35d672b7a0fcc1ed0cf1c600b", + "sha256:575d8912dca808edd9acd6f7795199332696d3469665ef26163cd090fa1f8bfa", + "sha256:5dd5a9c3091a0f414a963d427f920368e2b6a4c2f7527fdd82cde8ef0bc7a327", + "sha256:5f532a2ad4d174eb73494e7397988e22bf427f91acc8e6ebf5bb10597b49c493", + "sha256:60e7da3a3ad1812c128750fc1bc14a7ceeb8d29f77e0a2356a8fb2aa8925287d", + "sha256:653d7fb2df65efefbcbf81ef5fe5e5be931f1ee4332c2893ca638c9b11a409c4", + "sha256:6663977496d616b618b6cfa43ec86e479ee62b942e1da76a2c3daa1c75933ef4", + "sha256:6abfb51a82e919e3933eb137e17c4ae9c0475a25508ea88993bb59faf82f3b35", + "sha256:6c6b1389ed66cdd174d040105123a5a1bc91d0aa7059c7261d20e583b6d8cbd2", + "sha256:6d9dfb9959a3b0039ee06c1a1a90dc23bac3b430842dcb97908ddde05870601c", + "sha256:765cb54c0b8724a7c12c55146ae4647e0274a839fb6de7bcba841e04298e1011", + "sha256:7a21222644ab69ddd9967cfe6f2bb420b460dae4289c9d40ff9a4896e7c35c9a", + "sha256:7ac7594397698f77bce84382929747130765f66406dc2cd8b4ab4da68ade4c6e", + "sha256:7cfc287da09f9d2a7ec146ee4d72d6ea1342e770d975e49a8621bf54eaa8f30f", + "sha256:83125753a60cfc8c412de5896d10a0a405e0bd88d0470ad82e0869ddf0cb3848", + "sha256:847b114580c5cc9ebaf216dd8c8dbc6b00a3b7ab0131e173d7120e6deade1f57", + "sha256:87708d78a14d56a990fbf4f9cb350b7d89ee8988705e58e39bdf4d82c149210f", + "sha256:8a2b5874d17e72dfb80d917213abd55d7e1ed2479f38f001f264f7ce7bae757c", + "sha256:8f127e7b028900421cad64f51f75c051b628db17fb00e099eb148761eed598c9", + "sha256:94cdff45173b1919350601f82d61365e792895e3c3a3443cf99819e6fbf717a5", + "sha256:99d92d148dd03fd19d16175b6d355cc1b01faf80dae93c6c3eb4163709edc0a9", + "sha256:9a3049a10261d7f2b6514d35bbb7a4dfc3ece4c4de14ef5876c4b7a23a0e566d", + "sha256:9d9a62576b68cd90f7075876f4e8444487db5eeea0e4df3ba298ee38a8d067b0", + "sha256:9e5f94742033898bfe84c93c831a6f552bb629448d4072dd312306bab3bd96f1", + "sha256:a1c2d7780448eb93fbcc3789bf3916aa5720d942e37945f4056680317f1cd23e", + "sha256:a2e0f87144fcbbe54297cae708c5e7f9da21a4646523456b00cc956bd4c65815", + "sha256:a4dfdae195335abb4e89cc9762b2edc524f3c6e80d647a9a81bf81e17e3fb6f0", + "sha256:a96e6e23f2b79433390273eaf8cc94fec9c6370842e577ab10dabdcc7ea0a66b", + "sha256:aabdab8ec1e7ca7f1434d042bf8b1e92056245fb179790dc97ed040361f16bfd", + "sha256:b222090c455d6d1a64e6b7bb5f4035c4dff479e22455c9eaa1bdd4c75b52c80c", + "sha256:b52ff4f4e002f828ea6483faf4c4e8deea8d743cf801b74910243c58acc6eda3", + "sha256:b70756ec9417c34e097f987b4d8c510975216ad26ba6e57ccb53bc758f490dab", + "sha256:b8c2f6eb0df979ee99433d8b3f6d193d9590f735cf12274c108bd954e30ca858", + "sha256:b9b752ab91e78234941e44abdecc07f1f0d8f51fb62941d32995b8161f68cfe5", + "sha256:ba6612b6548220ff5e9df85261bddc811a057b0b465a1226b39bfb8550616aee", + "sha256:bd752c5ff1b4a870b7661234694f24b1d2b9076b8bf337321a814c612665f343", + "sha256:c3c4ed2ff6760e98d262e0cc9c9a7f7b8a9f61aa4d47c58835cdaf7b0b8811bb", + "sha256:c5c1362c14aee73f50143d74389b2c158707b4abce2cb055b7ad37ce60738d47", + "sha256:cb362e3b0976dc994857391b776ddaa8c13c28a16f80ac6522c23d5257156bed", + "sha256:d197df5489004db87d90b918033edbeee0bd6df3848a204bca3ff0a903bef837", + "sha256:d3b56206244dc8711f7e8b7d6cad4663917cd5b2d950799425076681e8766286", + "sha256:d5b2f8a31bd43e0f18172d8ac82347c8f37ef3e0b414431157718aa234991b28", + "sha256:d7081c084ceb58278dd3cf81f836bc818978c0ccc770cbbb202125ddabec6628", + "sha256:db74f5562c09953b2c5f8ec4b7dfd3f5421f31811e97d1dbc0a7c93d6e3a24df", + "sha256:df41112ccce5d47770a0c13651479fbcd8793f34232a2dd9faeccb75eb5d0d0d", + "sha256:e1339790c083c5a4de48f688b4841f18df839eb3c9584a770cbd818b33e26d5d", + "sha256:e621b0246192d3b9cb1dc62c78cfa4c6f6d2ddc0ec207d43c0dedecb914f152a", + "sha256:e8c5cf126889a4de385c02a2c3d3aba4b00f70234bfddae82a5eaa3ee6d5e3e6", + "sha256:e9d7747847c53a16a729b6ee5e737cf170f7a16611c143d95aa60a109a59c336", + "sha256:eaef5d2de3c7e9b21f1e762f289d17b726c2239a42b11e25446abf82b26ac132", + "sha256:ed3e4b4e1e6de75fdc16d3259098de7c6571b1a6cc863b1a49e7d3d53e036070", + "sha256:ef21af928e807f10bf4141cad4746eee692a0dd3ff56cfb25fce076ec3cc8abe", + "sha256:f09598b416ba39a8f489c124447b007fe865f786a89dbfa48bb5cf395693132a", + "sha256:f0caf4a5dcf610d96c3bd32932bfac8aee61c96e60481c2a0ea58da435e25acd", + "sha256:f6e78171be3fb7941f9910ea15b4b14ec27725865a73c15277bc39f5ca4f8391", + "sha256:f715c32e774a60a337b2bb8ad9839b4abf75b267a0f18806f6f4f5f1688c4b5a", + "sha256:fb5c1ad6bad98c57482236a21bf985ab0ef42bd51f7ad4e4538e89a997624e12" + ], + "markers": "python_version >= '3.7'", + "version": "==9.4.0" + }, + "platformdirs": { + "hashes": [ + "sha256:83c8f6d04389165de7c9b6f0c682439697887bca0aa2f1c87ef1826be3584490", + "sha256:e1fea1fe471b9ff8332e229df3cb7de4f53eeea4998d3b6bfff542115e998bd2" + ], + "markers": "python_version >= '3.7'", + "version": "==2.6.2" + }, "protobuf": { "hashes": [ "sha256:03038ac1cfbc41aa21f6afcbcd357281d7521b4157926f30ebecc8d4ea59dcb7", @@ -952,6 +1600,13 @@ "index": "pypi", "version": "==2.9.5" }, + "pycparser": { + "hashes": [ + "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", + "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" + ], + "version": "==2.21" + }, "pycryptodome": { "hashes": [ "sha256:0198fe96c22f7bc31e7a7c27a26b2cec5af3cf6075d577295f4850856c77af32", @@ -990,6 +1645,41 @@ ], "version": "==9.0.4" }, + "pyerfa": { + "hashes": [ + "sha256:041939a7554a98b72885904ffddd8882567191bee62358727679448480174c31", + "sha256:0833f8ebba9f84a19a04ee5ca5aa90be75729abfbb8328e7a6d89ed1b04e058c", + "sha256:177f50f0e8354f1a7115c2d4784668b365f1cc2f2c7d1e2f4ddf354160559b32", + "sha256:1ba3668e1e181a678ce788d23a4f8666aabd8518f77fdde5157ba4744bc73d4a", + "sha256:278832de7803f2fb0ef4b14263200f98dfdb3eaa78dc63835d93796fd8fc42c6", + "sha256:2fd4637ffe2c1e6ede7482c13f583ba7c73119d78bef90175448ce506a0ede30", + "sha256:3285d95dfe398a931a633da961f6f1c0b8690f2a3b1c510a4efe639f784cd9c7", + "sha256:36738ba75e7a69e0ea6a7e96a5d33a852816427e7e94e7089c188ef920b02669", + "sha256:37249e1e2b378d1f56e9379e4bb8f2cf87645c160a8a3e92166a1b7bb7ad7ea6", + "sha256:486e672c52bf58eab61140968660ac7fb3b756116b53c26c334ae95dadd943ee", + "sha256:5c077aed4ccd585c1fe2f96ada8edb66e9d27b4ae8ff13ea2783283b298ba0c6", + "sha256:629248cebc8626a52e80f69d4e2f30cc6e751f57803f5ba7ec99edd09785d181", + "sha256:63a83c35cea8c5d50d53c18089f1e625c0ffc59a7a5b8d44e0f1b3ec5288f183", + "sha256:67711a748821c5d91f7a8907b9125094dfc3e5ab6a6b7ad8e207fd6afbe6b37f", + "sha256:690116a6026ee84ce5fec794c9e21bdc8c0ac8345d6722323810181486745068", + "sha256:7895b7e6f3bc36442d1969bf3bda5a4c3b661be7a5a468798369cbd5d81023d8", + "sha256:b8f08f6e6d75a261bb92b707bea19eba2e46a8fcbfb499b789f3eb0d0352ea00", + "sha256:b935fa9d10dfd7206760859236640c835aa652609c0ae8a6584593324eb6f318", + "sha256:c7ca8c98842f1ae10c1fbcea0e03a41ddc13456da88da2dc9b8335a8c414d7a3", + "sha256:d2c10838241aaf17279468dcc731cb2c09bfb7dd7b340c0f527fd70c7c9e53d1", + "sha256:d3e7dedce1d7e4e044f6f81d192b1f6b373c8ad6716aa8721ec6d3cf4d36f5f3", + "sha256:d603f1e8123f98a0593433aa6dad4ba03f0b0ceef4cb3e96f9a69aa7ab8d5c61", + "sha256:da5ee24eaf5e5f841f36885ea16461800b7bea11df5b657bcff85d7a7f51d2d8", + "sha256:da89304d6b25ac056e470f44f85770b04c9674eced07a7f93b5eb0ce1edaabd9", + "sha256:e86c08c9c0b75e448818473c6d709e3887a439c05a1aa34042d26774251422b7", + "sha256:ef5590b2075c50395b958f102988e519e339d96509dfdca0360f26dde94c47e7", + "sha256:f00dc4fc48a16eb39fd0121f2f06c03ee762b79a207cc5b0bc17d94191b51302", + "sha256:f76fb4b64a87da2af9d0b6b79cc25e1ecc5b4143b2b3c8c9f10b221748c5db4d", + "sha256:f9e149bc3d423ae891f6587c1383fd471ae07744b88152e66b5e9f64a8bc9006" + ], + "markers": "python_version >= '3.7'", + "version": "==2.0.0.1" + }, "pymerkle": { "hashes": [ "sha256:79b7e6904a02326dca32dc2461318e3b0be9a028e136ce94d1c382b6927dbcca", @@ -998,6 +1688,14 @@ "markers": "python_version >= '3.6'", "version": "==2.0.2" }, + "pyparsing": { + "hashes": [ + "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb", + "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc" + ], + "markers": "python_full_version >= '3.6.8'", + "version": "==3.0.9" + }, "pyrsistent": { "hashes": [ "sha256:016ad1afadf318eb7911baa24b049909f7f3bb2c5b1ed7b6a8f21db21ea3faa8", @@ -1054,6 +1752,60 @@ ], "version": "==2022.7.1" }, + "pyvo": { + "hashes": [ + "sha256:476b6d2e815de88734299978f5dccde4db5602a3e95d169e922e97f02446b02c", + "sha256:b4c5156624d34d80d37007e92d265fa949c5a5633f945f52af2526e6571ab9ff" + ], + "markers": "python_version >= '3.8'", + "version": "==1.4" + }, + "pyyaml": { + "hashes": [ + "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf", + "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293", + "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b", + "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57", + "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b", + "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4", + "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07", + "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba", + "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9", + "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287", + "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513", + "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0", + "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782", + "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0", + "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92", + "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f", + "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2", + "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc", + "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1", + "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c", + "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86", + "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4", + "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c", + "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34", + "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b", + "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d", + "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c", + "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb", + "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7", + "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737", + "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3", + "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d", + "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358", + "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53", + "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78", + "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803", + "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a", + "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f", + "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174", + "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5" + ], + "markers": "python_version >= '3.6'", + "version": "==6.0" + }, "requests": { "hashes": [ "sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa", @@ -1069,6 +1821,68 @@ ], "version": "==2.0.1" }, + "scikit-learn": { + "hashes": [ + "sha256:0834e4cec2a2e0d8978f39cb8fe1cad3be6c27a47927e1774bf5737ea65ec228", + "sha256:184a42842a4e698ffa4d849b6019de50a77a0aa24d26afa28fa49c9190bb144b", + "sha256:1beaa631434d1f17a20b1eef5d842e58c195875d2bc11901a1a70b5fe544745b", + "sha256:23a88883ca60c571a06278e4726b3b51b3709cfa4c93cacbf5568b22ba960899", + "sha256:25ba705ee1600ffc5df1dccd8fae129d7c6836e44ffcbb52d78536c9eaf8fcf9", + "sha256:40f3ff68c505cb9d1f3693397c73991875d609da905087e00e7b4477645ec67b", + "sha256:4e1ea0bc1706da45589bcf2490cde6276490a1b88f9af208dbb396fdc3a0babf", + "sha256:5546a8894a0616e92489ef995b39a0715829f3df96e801bb55cbf196be0d9649", + "sha256:680b65b3caee469541385d2ca5b03ff70408f6c618c583948312f0d2125df680", + "sha256:6b63ca2b0643d30fbf9d25d93017ed3fb8351f31175d82d104bfec60cba7bb87", + "sha256:83c772fa8c64776ad769fd764752c8452844307adcf10dee3adcc43988260f21", + "sha256:867023a044fdfe59e5014a7fec7a3086a8928f10b5dce9382eedf4135f6709a2", + "sha256:bc7073e025b62c1067cbfb76e69d08650c6b9d7a0e7afdfa20cb92d4afe516f6", + "sha256:ceb0008f345188aa236e49c973dc160b9ed504a3abd7b321a0ecabcb669be0bd", + "sha256:d395730f26d8fc752321f1953ddf72647c892d8bed74fad4d7c816ec9b602dfa", + "sha256:da29d2e379c396a63af5ed4b671ad2005cd690ac373a23bee5a0f66504e05272", + "sha256:de897720173b26842e21bed54362f5294e282422116b61cd931d4f5d870b9855", + "sha256:e9535e867281ae6987bb80620ba14cf1649e936bfe45f48727b978b7a2dbe835", + "sha256:f17420a8e3f40129aeb7e0f5ee35822d6178617007bb8f69521a2cefc20d5f00", + "sha256:fc0a72237f0c56780cf550df87201a702d3bdcbbb23c6ef7d54c19326fa23f19", + "sha256:fd3480c982b9e616b9f76ad8587804d3f4e91b4e2a6752e7dafb8a2e1f541098" + ], + "markers": "python_version >= '3.8'", + "version": "==1.2.0" + }, + "scipy": { + "hashes": [ + "sha256:0490dc499fe23e4be35b8b6dd1e60a4a34f0c4adb30ac671e6332446b3cbbb5a", + "sha256:0ab2a58064836632e2cec31ca197d3695c86b066bc4818052b3f5381bfd2a728", + "sha256:151f066fe7d6653c3ffefd489497b8fa66d7316e3e0d0c0f7ff6acca1b802809", + "sha256:16ba05d3d1b9f2141004f3f36888e05894a525960b07f4c2bfc0456b955a00be", + "sha256:27e548276b5a88b51212b61f6dda49a24acf5d770dff940bd372b3f7ced8c6c2", + "sha256:2ad449db4e0820e4b42baccefc98ec772ad7818dcbc9e28b85aa05a536b0f1a2", + "sha256:2f9ea0a37aca111a407cb98aa4e8dfde6e5d9333bae06dfa5d938d14c80bb5c3", + "sha256:38bfbd18dcc69eeb589811e77fae552fa923067fdfbb2e171c9eac749885f210", + "sha256:3afcbddb4488ac950ce1147e7580178b333a29cd43524c689b2e3543a080a2c8", + "sha256:42ab8b9e7dc1ebe248e55f54eea5307b6ab15011a7883367af48dd781d1312e4", + "sha256:441cab2166607c82e6d7a8683779cb89ba0f475b983c7e4ab88f3668e268c143", + "sha256:4bd0e3278126bc882d10414436e58fa3f1eca0aa88b534fcbf80ed47e854f46c", + "sha256:4df25a28bd22c990b22129d3c637fd5c3be4b7c94f975dca909d8bab3309b694", + "sha256:5cd7a30970c29d9768a7164f564d1fbf2842bfc77b7d114a99bc32703ce0bf48", + "sha256:6e4497e5142f325a5423ff5fda2fff5b5d953da028637ff7c704378c8c284ea7", + "sha256:6faf86ef7717891195ae0537e48da7524d30bc3b828b30c9b115d04ea42f076f", + "sha256:954ff69d2d1bf666b794c1d7216e0a746c9d9289096a64ab3355a17c7c59db54", + "sha256:9b878c671655864af59c108c20e4da1e796154bd78c0ed6bb02bc41c84625686", + "sha256:b901b423c91281a974f6cd1c36f5c6c523e665b5a6d5e80fcb2334e14670eefd", + "sha256:c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540", + "sha256:e096b062d2efdea57f972d232358cb068413dc54eec4f24158bcbb5cb8bddfd8" + ], + "markers": "python_version < '3.11' and python_version >= '3.8'", + "version": "==1.10.0" + }, + "secretstorage": { + "hashes": [ + "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77", + "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99" + ], + "markers": "sys_platform == 'linux'", + "version": "==3.3.3" + }, "setuptools": { "hashes": [ "sha256:a78d01d1e2c175c474884671dde039962c9d74c7223db7369771fcf6e29ceeab", @@ -1085,6 +1899,14 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.16.0" }, + "soupsieve": { + "hashes": [ + "sha256:3b2503d3c7084a42b1ebd08116e5f81aadfaea95863628c80a3b774a11b7c759", + "sha256:fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d" + ], + "markers": "python_version >= '3.6'", + "version": "==2.3.2.post1" + }, "stringcase": { "hashes": [ "sha256:48a06980661908efe8d9d34eab2b6c13aefa2163b3ced26972902e3bdfd87008" @@ -1115,6 +1937,14 @@ "index": "pypi", "version": "==3.0.0" }, + "threadpoolctl": { + "hashes": [ + "sha256:8b99adda265feb6773280df41eece7b2e6561b772d21ffd52e372f999024907b", + "sha256:a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380" + ], + "markers": "python_version >= '3.6'", + "version": "==3.1.0" + }, "toolz": { "hashes": [ "sha256:2059bd4148deb1884bb0eb770a3cde70e7f954cfbbdc2285f1f2de01fd21eb6f", @@ -1123,6 +1953,23 @@ "markers": "python_version >= '3.5'", "version": "==0.12.0" }, + "tornado": { + "hashes": [ + "sha256:1d54d13ab8414ed44de07efecb97d4ef7c39f7438cf5e976ccd356bebb1b5fca", + "sha256:20f638fd8cc85f3cbae3c732326e96addff0a15e22d80f049e00121651e82e72", + "sha256:5c87076709343557ef8032934ce5f637dbb552efa7b21d08e89ae7619ed0eb23", + "sha256:5f8c52d219d4995388119af7ccaa0bcec289535747620116a58d830e7c25d8a8", + "sha256:6fdfabffd8dfcb6cf887428849d30cf19a3ea34c2c248461e1f7d718ad30b66b", + "sha256:87dcafae3e884462f90c90ecc200defe5e580a7fbbb4365eda7c7c1eb809ebc9", + "sha256:9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13", + "sha256:b8150f721c101abdef99073bf66d3903e292d851bee51910839831caba341a75", + "sha256:ba09ef14ca9893954244fd872798b4ccb2367c165946ce2dd7376aebdde8e3ac", + "sha256:d3a2f5999215a3a06a4fc218026cd84c61b8b2b40ac5296a6db1f1451ef04c1e", + "sha256:e5f923aa6a47e133d1cf87d60700889d7eae68988704e20c75fb2d65677a8e4b" + ], + "markers": "python_version >= '3.7'", + "version": "==6.2" + }, "tqdm": { "hashes": [ "sha256:5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4", @@ -1131,6 +1978,14 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==4.64.1" }, + "traitlets": { + "hashes": [ + "sha256:32500888f5ff7bbf3b9267ea31748fa657aaf34d56d85e60f91dda7dc7f5785b", + "sha256:a1ca5df6414f8b5760f7c5f256e326ee21b581742114545b462b35ffe3f04861" + ], + "markers": "python_version >= '3.7'", + "version": "==5.8.1" + }, "typing-extensions": { "hashes": [ "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02", @@ -1139,12 +1994,19 @@ "markers": "python_version >= '3.7'", "version": "==4.3.0" }, + "uncertainties": { + "hashes": [ + "sha256:4040ec64d298215531922a68fa1506dc6b1cb86cd7cca8eca848fcfe0f987151", + "sha256:80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab" + ], + "version": "==3.1.7" + }, "urllib3": { "hashes": [ "sha256:076907bf8fd355cde77728471316625a4d2f7e713c125f51953bb5b3eecf4f72", "sha256:75edcdc2f7d85b137124a6c3c9fc3933cdeaa12ecb9a6a959f22797a0feca7e1" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "markers": "python_version >= '3.8' and python_version < '4.0'", "version": "==1.26.14" }, "varint": { @@ -1161,6 +2023,13 @@ "markers": "python_version >= '3.6' and python_version < '4'", "version": "==5.27.0" }, + "webencodings": { + "hashes": [ + "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", + "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" + ], + "version": "==0.5.1" + }, "websockets": { "hashes": [ "sha256:0dd4eb8e0bbf365d6f652711ce21b8fd2b596f873d32aabb0fbb53ec604418cc", @@ -1278,6 +2147,14 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", "version": "==1.14.1" }, + "xyzservices": { + "hashes": [ + "sha256:5547b3d6bc06a60561d039fc9ef5fd521d8bea9b6b3d617410fd764b30c6c2bd", + "sha256:55651961708b9a14849978b339df76008c886df7a8326308a5549bae5516260c" + ], + "markers": "python_version >= '3.7'", + "version": "==2022.9.0" + }, "yarl": { "hashes": [ "sha256:009a028127e0a1755c38b03244c0bea9d5565630db9c4cf9572496e947137a87", @@ -1357,6 +2234,14 @@ ], "markers": "python_version >= '3.7'", "version": "==1.8.2" + }, + "zipp": { + "hashes": [ + "sha256:83a28fcb75844b5c0cdaf5aa4003c2d728c77e05f5aeabe8e95e56727005fbaa", + "sha256:a7a22e05929290a67401440b39690ae6563279bced5f314609d9d03798f56766" + ], + "markers": "python_version >= '3.7'", + "version": "==3.11.0" } }, "develop": {} diff --git a/Server/ansible/.tic_classify.py.swp b/Server/ansible/.tic_classify.py.swp new file mode 100644 index 00000000..24e4fe77 Binary files /dev/null and b/Server/ansible/.tic_classify.py.swp differ diff --git a/Server/ansible/classify.ipynb b/Server/ansible/classify.ipynb new file mode 100644 index 00000000..3094a4f8 --- /dev/null +++ b/Server/ansible/classify.ipynb @@ -0,0 +1,82 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from flask import Blueprint, request\n", + "\n", + "lightkurve_handler = Blueprint('lightkurve_handler', __name__)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@lightkurve__handler.route('/test')\n", + "def test():\n", + " return \"Hello World\"" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import lightkurve as lk\n", + "TIC = 'TIC 470710327'\n", + "sector_data = lk.search_lightcurve(TIC, author = 'SPOC', sector = 18)\n", + "lc = sector_data.download()\n", + "lc.plot()\n", + "lc.to_fits(path='lightcurve.fits')\n", + "#lc = lk.search_lightcurve(TIC, author='SPOC', sector=18).download()\n", + "#lc = lc.remove_nans().remove_outliers()\n", + "#lc.to_fits(path='lightcurve.fits')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Server-p1OW-ivt", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.4" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "06513b25462062bbc84ac1da243dc55d5ebbc05bf6cd09ebad51bfb8bbfce743" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Server/ansible/lightcurve.fits b/Server/ansible/lightcurve.fits new file mode 100644 index 00000000..55f03b44 Binary files /dev/null and b/Server/ansible/lightcurve.fits differ diff --git a/Server/ansible/tic_classify.py b/Server/ansible/tic_classify.py new file mode 100644 index 00000000..726cb55d --- /dev/null +++ b/Server/ansible/tic_classify.py @@ -0,0 +1,79 @@ +from flask import Blueprint, request +from thirdweb import ThirdwebSDK +import matplotlib.pyplot as plt +import lightkurve as lk +from io import BytesIO +import base64 +import os +from dotenv import load_dotenv +import psycopg2 +from storage3 import create_client + +tic_classify = Blueprint('tic_classify', __name__) + +# Global variables (anomaly base stats) +tic = '' + +# Database setup +load_dotenv() +url = os.getenv("DATABASE_URL") +storage_url = os.getenv("STORAGE_URL") +key = os.getenv("ANON_KEY") +headers = {"apiKey": key, 'Authorization': f"Bearer {key}"} +storage_client = create_client(storage_url, headers, is_async=False) +connection = psycopg2.connect(url) +# PostgreSQL queries -> see more at database/connection.py +CREATE_PLANETS_TABLE = ( + """CREATE TABLE IF NOT EXISTS planets (id SERIAL PRIMARY KEY, user_id INTEGER, temperature REAL, date TIMESTAMP, FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE CASCADE);""" +) +INSERT_PLANET = ( + 'INSERT INTO planets (user_id, temperature, date) VALUES (%s, %s, %s);' +) +"""CREATE_TIC_TABLE = ( # Link this with the main planets table -> create a new table with a foreign key ref + #CREATE TABLE IF NOT EXISTS tic (tic_id SERIAL PRIMARY KEY, tic TEXT, planet_id INTEGER, FOREIGN KEY(planet_id) REFERENCES planets(id) ON DELETE CASCADE); +#)""" +CREATE_TIC_TABLE = ( + 'CREATE TABLE IF NOT EXISTS tic (id SERIAL PRIMARY KEY, tic_id TEXT);' +) +INSERT_TIC = ( + 'INSERT INTO tic (tic_id) VALUES (%s);' +) + +@tic_classify.route('/ticId', methods=['GET', "POST"]) +def ticId(): + TIC = 'TIC 284475976' + sector_data = lk.search_lightcurve(TIC, author = 'SPOC', sector = 23) + + buf = BytesIO() + sector_data.savefig(buf, format='png') + data = base64.b64encode(buf.getbuffer()).decode("ascii") # embed result in html output + return f"" + +@tic_classify.route('/search', methods=['GET', 'POST']) +def search(): + data = request.get_json() + tic = data['ticid'] + + sector_data = lk.search_lightcurve(tic, author = 'SPOC', sector = 18) + # post tic & other request data to https://deepnote.com/workspace/star-sailors-49d2efda-376f-4329-9618-7f871ba16007/project/lightkurvehandler-dca7e16c-429d-42f1-904d-43898efb2321/ + + # Connect to the database + with connection: + with connection.cursor() as cursor: + cursor.execute(CREATE_PLANETS_TABLE) + cursor.execute(CREATE_TIC_TABLE) + cursor.execute(INSERT_TIC, (tic,)) + #tic_id = cursor.fetchone()[0] + # Get the id of inserted row returned, send to Supabase + + + sector_data = lk.search_lightcurve(tic, author = 'SPOC', sector = 18) + #available_data_all = lk.search_lightcurve(tic, author = 'SPOC') + #select_sectors = available_data_all[0:4] + #lc_collection = select_sectors.download_all() + + lc = lk.search_lightcurve(tic, author='SPOC', sector=18).download() + #lc = lc.remove_nans().remove_outliers() + #lc.to_fits(path='lightcurve.fits') + + return(storage_client.list_buckets()) \ No newline at end of file diff --git a/Server/app.py b/Server/app.py index fcf2c099..ccaea99f 100644 --- a/Server/app.py +++ b/Server/app.py @@ -2,24 +2,29 @@ from thirdweb.types import LoginPayload from thirdweb import ThirdwebSDK from datetime import datetime, timedelta -import os +"""# Jupyter interaction +import io, os, sys, types # https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Importing%20Notebooks.html +from IPython import get_ipython +from nbformat import read +from IPython.core.interactiveshell import Interactiveshell""" + +# Flask blueprints/routes from auth.moralisHandler import moralis_handler from auth.thirdwebHandler import thirdweb_handler from contracts.planetDrop import planet_drop from database.connection import database_connection +from ansible.tic_classify import tic_classify +#from ansible.classify import lightkurve_handler app = Flask(__name__) app.register_blueprint(moralis_handler, url_prefix='/moralis-auth') app.register_blueprint(thirdweb_handler, url_prefix='/auth') app.register_blueprint(planet_drop, url_prefix='/planets') app.register_blueprint(database_connection, url_prefix='/database') +app.register_blueprint(tic_classify, url_prefix='/lightkurve') +#app.register_blueprint(lightkurve__handler, url_prefix='/lightkurve-handle') @app.route('/') def index(): - return "Hello World" - -# Getting proposals route -#@app.route('/proposals') -#def getProposals(): -# return classifications; \ No newline at end of file + return "Hello World" \ No newline at end of file diff --git a/Server/contracts/planetDrop.py b/Server/contracts/planetDrop.py index 61bab07a..8e41d1c7 100644 --- a/Server/contracts/planetDrop.py +++ b/Server/contracts/planetDrop.py @@ -36,4 +36,38 @@ def create_planet(): sdk = ThirdwebSDK(network) contract = sdk.get_contract("0x766215a318E2AD1EbdC4D92cF2A3b70CBedeac31") #data = contract.call("lazyMint", _amount, _baseURIForTokens, _data) (POST data) - # Interaction flow -> https://www.notion.so/skinetics/Sample-Planets-Contract-4c3bdcbca4b9450382f9cc4e72e081f7 \ No newline at end of file + # Interaction flow -> https://www.notion.so/skinetics/Sample-Planets-Contract-4c3bdcbca4b9450382f9cc4e72e081f7 + +""" +# Flask/api routes +@app.route('/planet') +def planet(): + return jsonify({'planet' : 'planet'}) + +@app.post('/select_planet') +def select_planet(): + data = request.get_json() + planetId = data['planetId'] + planetName = data['planetName'] + planetTic = data['planetTic'] + sector_data = lk.search_lightcurve(planetTic, author = 'SPOC', sector = 23) + #lc = sector_data.download() + #lc.plot() + return sector_data + +# Show planet data on frontend +@app.post('/show_planet') # Can we do some calculation for nft revealing using this (i.e. mint nft after classification) +def show_tic(): + lc = sector_data.plot() + return lc + +@app.post('/mint-planet') +def mint_planet(): + data = request.get_json() + _receiver = data['profileAddress'] + _tokenId = data['tokenId'] + _quantity = 1 + data = contract.call("claim", _receiver, _tokenId, _quantity) + +app.run(host='0.0.0.0', port=8080) +""" \ No newline at end of file diff --git a/Server/database/connection.py b/Server/database/connection.py index e78f0450..35d3b36e 100644 --- a/Server/database/connection.py +++ b/Server/database/connection.py @@ -1,6 +1,7 @@ -from flask import Blueprint +from flask import Blueprint, request from dotenv import load_dotenv import psycopg2 +import os database_connection = Blueprint('database_connection', __name__) diff --git a/Server/docs/README.md b/Server/docs/README.md index 7b96260b..ef0310e5 100644 --- a/Server/docs/README.md +++ b/Server/docs/README.md @@ -1,3 +1,5 @@ Make sure to initialise the Flask app with `pipenv` and run the command `export FLASK_APP=app.py` -We'll have a simple wrapper on Deepnote that will communicate with the multi-layered (aka file) Flask app here, until Deepnote supports multiple files in a Flask container \ No newline at end of file +We'll have a simple wrapper on Deepnote that will communicate with the multi-layered (aka file) Flask app here, until Deepnote supports multiple files in a Flask container + +[Public Deepnote collection](https://deepnote.com/workspace/star-sailors-49d2efda-376f-4329-9618-7f871ba16007/projects/Star-Sailors-Interactions-58526396-6398-4022-8c99-f2bc8aa41e97) \ No newline at end of file