Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-plette for openSUSE:Factory checked in at 2023-01-07 17:19:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-plette (Old) and /work/SRC/openSUSE:Factory/.python-plette.new.1563 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-plette" Sat Jan 7 17:19:31 2023 rev:5 rq:1056677 version:0.4.4 Changes: -------- --- /work/SRC/openSUSE:Factory/python-plette/python-plette.changes 2022-10-18 12:45:24.765780136 +0200 +++ /work/SRC/openSUSE:Factory/.python-plette.new.1563/python-plette.changes 2023-01-07 17:22:52.263285885 +0100 @@ -1,0 +2,11 @@ +Fri Jan 6 17:11:13 UTC 2023 - Yogalakshmi Arunachalam <[email protected]> + +- Update to 0.4.4 + * Add validation for pipenv section + * Add more tests + +- Update to 0.4.3 (2022-12-13) + Bug Fixes + * Validate that package extras are a list + +------------------------------------------------------------------- Old: ---- plette-0.4.2.tar.gz New: ---- plette-0.4.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-plette.spec ++++++ --- /var/tmp/diff_new_pack.dQAdFE/_old 2023-01-07 17:22:52.723288629 +0100 +++ /var/tmp/diff_new_pack.dQAdFE/_new 2023-01-07 17:22:52.731288678 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-plette # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-plette -Version: 0.4.2 +Version: 0.4.4 Release: 0 Summary: Structured Pipfile and Pipfile.lock models License: ISC @@ -28,7 +28,7 @@ # See https://github.com/sarugaku/plette/issues/8 Patch0: ignore-hashlib-case.patch BuildRequires: %{python_module pip} -BuildRequires: %{python_module setuptools >= 36.2.2} +BuildRequires: %{python_module setuptools >= 61.0.0} BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros ++++++ plette-0.4.2.tar.gz -> plette-0.4.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/CHANGELOG.rst new/plette-0.4.4/CHANGELOG.rst --- old/plette-0.4.2/CHANGELOG.rst 2022-10-11 22:24:30.000000000 +0200 +++ new/plette-0.4.4/CHANGELOG.rst 2022-12-15 19:57:11.000000000 +0100 @@ -1,3 +1,16 @@ +0.4.4 (2022-12-15) +================== + +- Add validation for pipenv section +- Add more tests + +0.4.3 (2022-12-13) +================== + +Bug Fixes +--------- +- Validate that package extras are a list + 0.4.2 (2022-10-11) ================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/Pipfile.lock new/plette-0.4.4/Pipfile.lock --- old/plette-0.4.2/Pipfile.lock 2022-10-11 22:24:30.000000000 +0200 +++ new/plette-0.4.4/Pipfile.lock 2022-12-15 19:57:11.000000000 +0100 @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "d393c4f897389c4af119cfefe7aea5438c945f45451921e5eb14f449fbeb4f88" + "sha256": "d6695196cba86ad8430403f3b5bfb569ae46ba75ec9f5381c46b3f989e59d7e8" }, "pipfile-spec": 6, "requires": {}, @@ -28,21 +28,28 @@ ], "path": "." }, + "sanitized-package": { + "editable": true, + "extras": [ + "validation" + ], + "path": "." + }, "setuptools": { "hashes": [ - "sha256:2e24e0bec025f035a2e72cdd1961119f557d78ad331bb00ff82efb2ab8da8e82", - "sha256:7732871f4f7fa58fb6bdcaeadb0161b2bd046c85905dbaa066bdcbcc81953b57" + "sha256:57f6f22bde4e042978bcd50176fdb381d7c21a9efa4041202288d3737a0c6a54", + "sha256:a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75" ], "markers": "python_version >= '3.7'", - "version": "==65.3.0" + "version": "==65.6.3" }, "tomlkit": { "hashes": [ - "sha256:25d4e2e446c453be6360c67ddfb88838cfc42026322770ba13d1fbd403a93a5c", - "sha256:3235a9010fae54323e727c3ac06fb720752fe6635b3426e379daec60fbd44a83" + "sha256:07de26b0d8cfc18f871aec595fda24d95b08fef89d147caa861939f37230bf4b", + "sha256:71b952e5721688937fb02cf9d354dbcf0785066149d2855e44531ebdd2b65d73" ], - "markers": "python_version >= '3.6' and python_version < '4.0'", - "version": "==0.11.4" + "markers": "python_version >= '3.6'", + "version": "==0.11.6" } }, "develop": { @@ -70,11 +77,11 @@ }, "babel": { "hashes": [ - "sha256:7614553711ee97490f732126dc077f8d0ae084ebc6a96e23db1482afabdb2c51", - "sha256:ff56f4892c1c4bf0d814575ea23471c230d544203c7748e8c68f0089478d48eb" + "sha256:1ad3eca1c885218f6dce2ab67291178944f810a10a9b5f3cb8382a5a232b64fe", + "sha256:5ef4b3226b0180dedded4229651c8b0e1a3a6a2837d45a073272f313e4cf97f6" ], "markers": "python_version >= '3.6'", - "version": "==2.10.3" + "version": "==2.11.0" }, "bleach": { "hashes": [ @@ -86,11 +93,10 @@ }, "certifi": { "hashes": [ - "sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d", - "sha256:fe86415d55e84719d75f8b69414f6438ac3547d2078ab91b67e779ef69378412" + "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3", + "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18" ], - "markers": "python_version >= '3.6'", - "version": "==2022.6.15" + "version": "==2022.12.7" }, "cffi": { "hashes": [ @@ -195,87 +201,91 @@ "toml" ], "hashes": [ - "sha256:01778769097dbd705a24e221f42be885c544bb91251747a8a3efdec6eb4788f2", - "sha256:08002f9251f51afdcc5e3adf5d5d66bb490ae893d9e21359b085f0e03390a820", - "sha256:1238b08f3576201ebf41f7c20bf59baa0d05da941b123c6656e42cdb668e9827", - "sha256:14a32ec68d721c3d714d9b105c7acf8e0f8a4f4734c811eda75ff3718570b5e3", - "sha256:15e38d853ee224e92ccc9a851457fb1e1f12d7a5df5ae44544ce7863691c7a0d", - "sha256:354df19fefd03b9a13132fa6643527ef7905712109d9c1c1903f2133d3a4e145", - "sha256:35ef1f8d8a7a275aa7410d2f2c60fa6443f4a64fae9be671ec0696a68525b875", - "sha256:4179502f210ebed3ccfe2f78bf8e2d59e50b297b598b100d6c6e3341053066a2", - "sha256:42c499c14efd858b98c4e03595bf914089b98400d30789511577aa44607a1b74", - "sha256:4b7101938584d67e6f45f0015b60e24a95bf8dea19836b1709a80342e01b472f", - "sha256:564cd0f5b5470094df06fab676c6d77547abfdcb09b6c29c8a97c41ad03b103c", - "sha256:5f444627b3664b80d078c05fe6a850dd711beeb90d26731f11d492dcbadb6973", - "sha256:6113e4df2fa73b80f77663445be6d567913fb3b82a86ceb64e44ae0e4b695de1", - "sha256:61b993f3998ee384935ee423c3d40894e93277f12482f6e777642a0141f55782", - "sha256:66e6df3ac4659a435677d8cd40e8eb1ac7219345d27c41145991ee9bf4b806a0", - "sha256:67f9346aeebea54e845d29b487eb38ec95f2ecf3558a3cffb26ee3f0dcc3e760", - "sha256:6913dddee2deff8ab2512639c5168c3e80b3ebb0f818fed22048ee46f735351a", - "sha256:6a864733b22d3081749450466ac80698fe39c91cb6849b2ef8752fd7482011f3", - "sha256:7026f5afe0d1a933685d8f2169d7c2d2e624f6255fb584ca99ccca8c0e966fd7", - "sha256:783bc7c4ee524039ca13b6d9b4186a67f8e63d91342c713e88c1865a38d0892a", - "sha256:7a98d6bf6d4ca5c07a600c7b4e0c5350cd483c85c736c522b786be90ea5bac4f", - "sha256:8d032bfc562a52318ae05047a6eb801ff31ccee172dc0d2504614e911d8fa83e", - "sha256:98c0b9e9b572893cdb0a00e66cf961a238f8d870d4e1dc8e679eb8bdc2eb1b86", - "sha256:9c7b9b498eb0c0d48b4c2abc0e10c2d78912203f972e0e63e3c9dc21f15abdaa", - "sha256:9cc4f107009bca5a81caef2fca843dbec4215c05e917a59dec0c8db5cff1d2aa", - "sha256:9d6e1f3185cbfd3d91ac77ea065d85d5215d3dfa45b191d14ddfcd952fa53796", - "sha256:a095aa0a996ea08b10580908e88fbaf81ecf798e923bbe64fb98d1807db3d68a", - "sha256:a3b2752de32c455f2521a51bd3ffb53c5b3ae92736afde67ce83477f5c1dd928", - "sha256:ab066f5ab67059d1f1000b5e1aa8bbd75b6ed1fc0014559aea41a9eb66fc2ce0", - "sha256:c1328d0c2f194ffda30a45f11058c02410e679456276bfa0bbe0b0ee87225fac", - "sha256:c35cca192ba700979d20ac43024a82b9b32a60da2f983bec6c0f5b84aead635c", - "sha256:cbbb0e4cd8ddcd5ef47641cfac97d8473ab6b132dd9a46bacb18872828031685", - "sha256:cdbb0d89923c80dbd435b9cf8bba0ff55585a3cdb28cbec65f376c041472c60d", - "sha256:cf2afe83a53f77aec067033199797832617890e15bed42f4a1a93ea24794ae3e", - "sha256:d5dd4b8e9cd0deb60e6fcc7b0647cbc1da6c33b9e786f9c79721fd303994832f", - "sha256:dfa0b97eb904255e2ab24166071b27408f1f69c8fbda58e9c0972804851e0558", - "sha256:e16c45b726acb780e1e6f88b286d3c10b3914ab03438f32117c4aa52d7f30d58", - "sha256:e1fabd473566fce2cf18ea41171d92814e4ef1495e04471786cbc943b89a3781", - "sha256:e3d3c4cc38b2882f9a15bafd30aec079582b819bec1b8afdbde8f7797008108a", - "sha256:e431e305a1f3126477abe9a184624a85308da8edf8486a863601d58419d26ffa", - "sha256:e7b4da9bafad21ea45a714d3ea6f3e1679099e420c8741c74905b92ee9bfa7cc", - "sha256:ee2b2fb6eb4ace35805f434e0f6409444e1466a47f620d1d5763a22600f0f892", - "sha256:ee6ae6bbcac0786807295e9687169fba80cb0617852b2fa118a99667e8e6815d", - "sha256:ef6f44409ab02e202b31a05dd6666797f9de2aa2b4b3534e9d450e42dea5e817", - "sha256:f67cf9f406cf0d2f08a3515ce2db5b82625a7257f88aad87904674def6ddaec1", - "sha256:f855b39e4f75abd0dfbcf74a82e84ae3fc260d523fcb3532786bcbbcb158322c", - "sha256:fc600f6ec19b273da1d85817eda339fb46ce9eef3e89f220055d8696e0a06908", - "sha256:fcbe3d9a53e013f8ab88734d7e517eb2cd06b7e689bedf22c0eb68db5e4a0a19", - "sha256:fde17bc42e0716c94bf19d92e4c9f5a00c5feb401f5bc01101fdf2a8b7cacf60", - "sha256:ff934ced84054b9018665ca3967fc48e1ac99e811f6cc99ea65978e1d384454b" + "sha256:027018943386e7b942fa832372ebc120155fd970837489896099f5cfa2890f79", + "sha256:11b990d520ea75e7ee8dcab5bc908072aaada194a794db9f6d7d5cfd19661e5a", + "sha256:12adf310e4aafddc58afdb04d686795f33f4d7a6fa67a7a9d4ce7d6ae24d949f", + "sha256:1431986dac3923c5945271f169f59c45b8802a114c8f548d611f2015133df77a", + "sha256:1ef221513e6f68b69ee9e159506d583d31aa3567e0ae84eaad9d6ec1107dddaa", + "sha256:20c8ac5386253717e5ccc827caad43ed66fea0efe255727b1053a8154d952398", + "sha256:2198ea6fc548de52adc826f62cb18554caedfb1d26548c1b7c88d8f7faa8f6ba", + "sha256:255758a1e3b61db372ec2736c8e2a1fdfaf563977eedbdf131de003ca5779b7d", + "sha256:265de0fa6778d07de30bcf4d9dc471c3dc4314a23a3c6603d356a3c9abc2dfcf", + "sha256:33a7da4376d5977fbf0a8ed91c4dffaaa8dbf0ddbf4c8eea500a2486d8bc4d7b", + "sha256:42eafe6778551cf006a7c43153af1211c3aaab658d4d66fa5fcc021613d02518", + "sha256:4433b90fae13f86fafff0b326453dd42fc9a639a0d9e4eec4d366436d1a41b6d", + "sha256:4a5375e28c5191ac38cca59b38edd33ef4cc914732c916f2929029b4bfb50795", + "sha256:4a8dbc1f0fbb2ae3de73eb0bdbb914180c7abfbf258e90b311dcd4f585d44bd2", + "sha256:59f53f1dc5b656cafb1badd0feb428c1e7bc19b867479ff72f7a9dd9b479f10e", + "sha256:5dbec3b9095749390c09ab7c89d314727f18800060d8d24e87f01fb9cfb40b32", + "sha256:633713d70ad6bfc49b34ead4060531658dc6dfc9b3eb7d8a716d5873377ab745", + "sha256:6b07130585d54fe8dff3d97b93b0e20290de974dc8177c320aeaf23459219c0b", + "sha256:6c4459b3de97b75e3bd6b7d4b7f0db13f17f504f3d13e2a7c623786289dd670e", + "sha256:6d4817234349a80dbf03640cec6109cd90cba068330703fa65ddf56b60223a6d", + "sha256:723e8130d4ecc8f56e9a611e73b31219595baa3bb252d539206f7bbbab6ffc1f", + "sha256:784f53ebc9f3fd0e2a3f6a78b2be1bd1f5575d7863e10c6e12504f240fd06660", + "sha256:7b6be138d61e458e18d8e6ddcddd36dd96215edfe5f1168de0b1b32635839b62", + "sha256:7ccf362abd726b0410bf8911c31fbf97f09f8f1061f8c1cf03dfc4b6372848f6", + "sha256:83516205e254a0cb77d2d7bb3632ee019d93d9f4005de31dca0a8c3667d5bc04", + "sha256:851cf4ff24062c6aec510a454b2584f6e998cada52d4cb58c5e233d07172e50c", + "sha256:8f830ed581b45b82451a40faabb89c84e1a998124ee4212d440e9c6cf70083e5", + "sha256:94e2565443291bd778421856bc975d351738963071e9b8839ca1fc08b42d4bef", + "sha256:95203854f974e07af96358c0b261f1048d8e1083f2de9b1c565e1be4a3a48cfc", + "sha256:97117225cdd992a9c2a5515db1f66b59db634f59d0679ca1fa3fe8da32749cae", + "sha256:98e8a10b7a314f454d9eff4216a9a94d143a7ee65018dd12442e898ee2310578", + "sha256:a1170fa54185845505fbfa672f1c1ab175446c887cce8212c44149581cf2d466", + "sha256:a6b7d95969b8845250586f269e81e5dfdd8ff828ddeb8567a4a2eaa7313460c4", + "sha256:a8fb6cf131ac4070c9c5a3e21de0f7dc5a0fbe8bc77c9456ced896c12fcdad91", + "sha256:af4fffaffc4067232253715065e30c5a7ec6faac36f8fc8d6f64263b15f74db0", + "sha256:b4a5be1748d538a710f87542f22c2cad22f80545a847ad91ce45e77417293eb4", + "sha256:b5604380f3415ba69de87a289a2b56687faa4fe04dbee0754bfcae433489316b", + "sha256:b9023e237f4c02ff739581ef35969c3739445fb059b060ca51771e69101efffe", + "sha256:bc8ef5e043a2af066fa8cbfc6e708d58017024dc4345a1f9757b329a249f041b", + "sha256:c4ed2820d919351f4167e52425e096af41bfabacb1857186c1ea32ff9983ed75", + "sha256:cca4435eebea7962a52bdb216dec27215d0df64cf27fc1dd538415f5d2b9da6b", + "sha256:d900bb429fdfd7f511f868cedd03a6bbb142f3f9118c09b99ef8dc9bf9643c3c", + "sha256:d9ecf0829c6a62b9b573c7bb6d4dcd6ba8b6f80be9ba4fc7ed50bf4ac9aecd72", + "sha256:dbdb91cd8c048c2b09eb17713b0c12a54fbd587d79adcebad543bc0cd9a3410b", + "sha256:de3001a203182842a4630e7b8d1a2c7c07ec1b45d3084a83d5d227a3806f530f", + "sha256:e07f4a4a9b41583d6eabec04f8b68076ab3cd44c20bd29332c6572dda36f372e", + "sha256:ef8674b0ee8cc11e2d574e3e2998aea5df5ab242e012286824ea3c6970580e53", + "sha256:f4f05d88d9a80ad3cac6244d36dd89a3c00abc16371769f1340101d3cb899fc3", + "sha256:f642e90754ee3e06b0e7e51bce3379590e76b7f76b708e1a71ff043f87025c84", + "sha256:fc2af30ed0d5ae0b1abdb4ebdce598eafd5b35397d4d75deb341a614d333d987" ], "markers": "python_version >= '3.7'", - "version": "==6.4.4" + "version": "==6.5.0" }, "cryptography": { "hashes": [ - "sha256:190f82f3e87033821828f60787cfa42bff98404483577b591429ed99bed39d59", - "sha256:2be53f9f5505673eeda5f2736bea736c40f051a739bfae2f92d18aed1eb54596", - "sha256:30788e070800fec9bbcf9faa71ea6d8068f5136f60029759fd8c3efec3c9dcb3", - "sha256:3d41b965b3380f10e4611dbae366f6dc3cefc7c9ac4e8842a806b9672ae9add5", - "sha256:4c590ec31550a724ef893c50f9a97a0c14e9c851c85621c5650d699a7b88f7ab", - "sha256:549153378611c0cca1042f20fd9c5030d37a72f634c9326e225c9f666d472884", - "sha256:63f9c17c0e2474ccbebc9302ce2f07b55b3b3fcb211ded18a42d5764f5c10a82", - "sha256:6bc95ed67b6741b2607298f9ea4932ff157e570ef456ef7ff0ef4884a134cc4b", - "sha256:7099a8d55cd49b737ffc99c17de504f2257e3787e02abe6d1a6d136574873441", - "sha256:75976c217f10d48a8b5a8de3d70c454c249e4b91851f6838a4e48b8f41eb71aa", - "sha256:7bc997818309f56c0038a33b8da5c0bfbb3f1f067f315f9abd6fc07ad359398d", - "sha256:80f49023dd13ba35f7c34072fa17f604d2f19bf0989f292cedf7ab5770b87a0b", - "sha256:91ce48d35f4e3d3f1d83e29ef4a9267246e6a3be51864a5b7d2247d5086fa99a", - "sha256:a958c52505c8adf0d3822703078580d2c0456dd1d27fabfb6f76fe63d2971cd6", - "sha256:b62439d7cd1222f3da897e9a9fe53bbf5c104fff4d60893ad1355d4c14a24157", - "sha256:b7f8dd0d4c1f21759695c05a5ec8536c12f31611541f8904083f3dc582604280", - "sha256:d204833f3c8a33bbe11eda63a54b1aad7aa7456ed769a982f21ec599ba5fa282", - "sha256:e007f052ed10cc316df59bc90fbb7ff7950d7e2919c9757fd42a2b8ecf8a5f67", - "sha256:f2dcb0b3b63afb6df7fd94ec6fbddac81b5492513f7b0436210d390c14d46ee8", - "sha256:f721d1885ecae9078c3f6bbe8a88bc0786b6e749bf32ccec1ef2b18929a05046", - "sha256:f7a6de3e98771e183645181b3627e2563dcde3ce94a9e42a3f427d2255190327", - "sha256:f8c0a6e9e1dd3eb0414ba320f85da6b0dcbd543126e30fcc546e7372a7fbf3b9" + "sha256:0e70da4bdff7601b0ef48e6348339e490ebfb0cbe638e083c9c41fb49f00c8bd", + "sha256:10652dd7282de17990b88679cb82f832752c4e8237f0c714be518044269415db", + "sha256:175c1a818b87c9ac80bb7377f5520b7f31b3ef2a0004e2420319beadedb67290", + "sha256:1d7e632804a248103b60b16fb145e8df0bc60eed790ece0d12efe8cd3f3e7744", + "sha256:1f13ddda26a04c06eb57119caf27a524ccae20533729f4b1e4a69b54e07035eb", + "sha256:2ec2a8714dd005949d4019195d72abed84198d877112abb5a27740e217e0ea8d", + "sha256:2fa36a7b2cc0998a3a4d5af26ccb6273f3df133d61da2ba13b3286261e7efb70", + "sha256:2fb481682873035600b5502f0015b664abc26466153fab5c6bc92c1ea69d478b", + "sha256:3178d46f363d4549b9a76264f41c6948752183b3f587666aff0555ac50fd7876", + "sha256:4367da5705922cf7070462e964f66e4ac24162e22ab0a2e9d31f1b270dd78083", + "sha256:4eb85075437f0b1fd8cd66c688469a0c4119e0ba855e3fef86691971b887caf6", + "sha256:50a1494ed0c3f5b4d07650a68cd6ca62efe8b596ce743a5c94403e6f11bf06c1", + "sha256:53049f3379ef05182864d13bb9686657659407148f901f3f1eee57a733fb4b00", + "sha256:6391e59ebe7c62d9902c24a4d8bcbc79a68e7c4ab65863536127c8a9cd94043b", + "sha256:67461b5ebca2e4c2ab991733f8ab637a7265bb582f07c7c88914b5afb88cb95b", + "sha256:78e47e28ddc4ace41dd38c42e6feecfdadf9c3be2af389abbfeef1ff06822285", + "sha256:80ca53981ceeb3241998443c4964a387771588c4e4a5d92735a493af868294f9", + "sha256:8a4b2bdb68a447fadebfd7d24855758fe2d6fecc7fed0b78d190b1af39a8e3b0", + "sha256:8e45653fb97eb2f20b8c96f9cd2b3a0654d742b47d638cf2897afbd97f80fa6d", + "sha256:998cd19189d8a747b226d24c0207fdaa1e6658a1d3f2494541cb9dfbf7dcb6d2", + "sha256:a10498349d4c8eab7357a8f9aa3463791292845b79597ad1b98a543686fb1ec8", + "sha256:b4cad0cea995af760f82820ab4ca54e5471fc782f70a007f31531957f43e9dee", + "sha256:bfe6472507986613dc6cc00b3d492b2f7564b02b3b3682d25ca7f40fa3fd321b", + "sha256:c9e0d79ee4c56d841bd4ac6e7697c8ff3c8d6da67379057f29e66acffcd1e9a7", + "sha256:ca57eb3ddaccd1112c18fc80abe41db443cc2e9dcb1917078e02dfa010a4f353", + "sha256:ce127dd0a6a0811c251a6cddd014d292728484e530d80e872ad9806cfb1c5b3c" ], "markers": "python_version >= '3.6'", - "version": "==37.0.4" + "version": "==38.0.4" }, "docutils": { "hashes": [ @@ -295,11 +305,11 @@ }, "idna": { "hashes": [ - "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", - "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" + "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4", + "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2" ], "markers": "python_version >= '3.5'", - "version": "==3.3" + "version": "==3.4" }, "imagesize": { "hashes": [ @@ -311,18 +321,18 @@ }, "importlib-metadata": { "hashes": [ - "sha256:637245b8bab2b6502fcbc752cc4b7a6f6243bb02b31c5c26156ad103d3d45670", - "sha256:7401a975809ea1fdc658c3aa4f78cc2195a0e019c5cbc4c06122884e9ae80c23" + "sha256:d5059f9f1e8e41f80e9c56c2ee58811450c31984dfa625329ffd7c0dad88a73b", + "sha256:d84d17e21670ec07990e1044a99efe8d615d860fd176fc29ef5c306068fda313" ], "markers": "python_version >= '3.7'", - "version": "==4.12.0" + "version": "==5.1.0" }, "incremental": { "hashes": [ - "sha256:02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57", - "sha256:92014aebc6a20b78a8084cdd5645eeaa7f74b8933f70fa3ada2cfbd1e3b54321" + "sha256:912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0", + "sha256:b864a1f30885ee72c5ac2835a761b8fe8aa9c28b9395cacf27286602688d3e51" ], - "version": "==21.3.0" + "version": "==22.10.0" }, "iniconfig": { "hashes": [ @@ -336,16 +346,15 @@ "sha256:2dc975b4f92be0c0a174ad2d063010c8a1fdb5e9389d69871001118b4fcac4fb", "sha256:7b6deaf585eee0a848205d0b8c0014b9bf6f287a8eb798818a642dff1df14b19" ], - "index": "pypi", "version": "==1.7.1" }, "jaraco.classes": { "hashes": [ - "sha256:6745f113b0b588239ceb49532aa09c3ebb947433ce311ef2f8e3ad64ebb74594", - "sha256:e6ef6fd3fcf4579a7a019d87d1e56a883f4e4c35cfe925f86731abc58804e647" + "sha256:2353de3288bc6b82120752201c6b1c1a14b058267fa424ed5ce5984e3b922158", + "sha256:89559fa5c1d3c34eff6f631ad80bb21f378dbcbb35dd161fd2c6b93f5be2f98a" ], "markers": "python_version >= '3.7'", - "version": "==3.2.2" + "version": "==3.2.3" }, "jeepney": { "hashes": [ @@ -365,11 +374,11 @@ }, "keyring": { "hashes": [ - "sha256:3565b9e4ea004c96e158d2d332a49f466733d565bb24157a60fd2e49f41a0fd1", - "sha256:39e4f6572238d2615a82fcaa485e608b84b503cf080dc924c43bbbacb11c1c18" + "sha256:3dd30011d555f1345dec2c262f0153f2f0ca6bca041fb1dc4588349bb4c0ac1e", + "sha256:ad192263e2cdd5f12875dedc2da13534359a7e760e77f8d04b50968a821c2361" ], "markers": "python_version >= '3.7'", - "version": "==23.9.1" + "version": "==23.11.0" }, "markupsafe": { "hashes": [ @@ -419,35 +428,34 @@ }, "more-itertools": { "hashes": [ - "sha256:1bc4f91ee5b1b31ac7ceacc17c09befe6a40a503907baf9c839c229b5095cfd2", - "sha256:c09443cd3d5438b8dafccd867a6bc1cb0894389e90cb53d227456b0b0bccb750" + "sha256:250e83d7e81d0c87ca6bd942e6aeab8cc9daa6096d12c5308f3f92fa5e5c1f41", + "sha256:5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab" ], - "markers": "python_version >= '3.5'", - "version": "==8.14.0" + "markers": "python_version >= '3.7'", + "version": "==9.0.0" }, "packaging": { "hashes": [ - "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", - "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" + "sha256:2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3", + "sha256:957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3" ], - "markers": "python_version >= '3.6'", - "version": "==21.3" + "markers": "python_version >= '3.7'", + "version": "==22.0" }, "parver": { "hashes": [ "sha256:41a548c51b006a2f2522b54293cbfd2514bffa10774ece8430c9964a20cbd8b4", "sha256:c902e0653bcce927cc156a7fd9b3a51924cbce3bf3d0bfd49fc282bfd0c5dfd3" ], - "index": "pypi", "version": "==0.3.1" }, "pkginfo": { "hashes": [ - "sha256:848865108ec99d4901b2f7e84058b6e7660aae8ae10164e015a6dcf5b242a594", - "sha256:a84da4318dd86f870a9447a8c98340aa06216bfc6f2b7bdc4b8766984ae1867c" + "sha256:ac03e37e4d601aaee40f8087f63fc4a2a6c9814dda2c8fa6aab1b1829653bdfa", + "sha256:d580059503f2f4549ad6e4c106d7437356dbd430e2c7df99ee1efe03d75f691e" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==1.8.3" + "markers": "python_version >= '3.6'", + "version": "==1.9.2" }, "pluggy": { "hashes": [ @@ -480,20 +488,11 @@ "markers": "python_version >= '3.6'", "version": "==2.13.0" }, - "pyparsing": { - "hashes": [ - "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb", - "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc" - ], - "markers": "python_full_version >= '3.6.8'", - "version": "==3.0.9" - }, "pytest": { "hashes": [ "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7", "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39" ], - "index": "pypi", "version": "==7.1.3" }, "pytest-cov": { @@ -501,7 +500,6 @@ "sha256:578d5d15ac4a25e5f961c938b85a05b09fdaae9deef3bb6de9a6e766622ca7a6", "sha256:e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470" ], - "index": "pypi", "version": "==3.0.0" }, "pytest-forked": { @@ -517,23 +515,22 @@ "sha256:4580deca3ff04ddb2ac53eba39d76cb5dd5edeac050cb6fbc768b0dd712b4edf", "sha256:6fe5c74fec98906deb8f2d2b616b5c782022744978e7bd4695d39c8f42d0ce65" ], - "index": "pypi", "version": "==2.5.0" }, "pytz": { "hashes": [ - "sha256:220f481bdafa09c3955dfbdddb7b57780e9a94f5127e35456a48589b9e0c0197", - "sha256:cea221417204f2d1a2aa03ddae3e867921971d0d76f14d87abb4414415bbdcf5" + "sha256:222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427", + "sha256:e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2" ], - "version": "==2022.2.1" + "version": "==2022.6" }, "readme-renderer": { "hashes": [ - "sha256:16c914ca7731fd062a316a2a8e5434a175ee34661a608af771a60c881f528a34", - "sha256:96768c069729f69176f514477e57f2f8cd543fbb2cd7bad372976249fa509a0c" + "sha256:cd653186dfc73055656f090f227f5cb22a046d7f71a841dfa305f55c9a513273", + "sha256:f67a16caedfa71eef48a31b39708637a6f4664c4394801a7b0d6432d13907343" ], "markers": "python_version >= '3.7'", - "version": "==37.1" + "version": "==37.3" }, "requests": { "hashes": [ @@ -545,10 +542,11 @@ }, "requests-toolbelt": { "hashes": [ - "sha256:380606e1d10dc85c3bd47bf5a6095f815ec007be7a8b69c878507068df059e6f", - "sha256:968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0" + "sha256:18565aa58116d9951ac39baa288d3adb5b3ff975c4f25eee78555d89e8f247f7", + "sha256:62e09f7ff5ccbda92772a29f394a49c3ad6cb181d568b1337626b2abb628a63d" ], - "version": "==0.9.1" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==0.10.1" }, "rfc3986": { "hashes": [ @@ -560,11 +558,11 @@ }, "rich": { "hashes": [ - "sha256:2eb4e6894cde1e017976d2975ac210ef515d7548bc595ba20e195fb9628acdeb", - "sha256:63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca" + "sha256:a4eb26484f2c82589bd9a17c73d32a010b1e29d89f1604cd9bf3a2097b81bb5e", + "sha256:ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0" ], "markers": "python_version < '4' and python_full_version >= '3.6.3'", - "version": "==12.5.1" + "version": "==12.6.0" }, "secretstorage": { "hashes": [ @@ -576,11 +574,11 @@ }, "setuptools": { "hashes": [ - "sha256:2e24e0bec025f035a2e72cdd1961119f557d78ad331bb00ff82efb2ab8da8e82", - "sha256:7732871f4f7fa58fb6bdcaeadb0161b2bd046c85905dbaa066bdcbcc81953b57" + "sha256:57f6f22bde4e042978bcd50176fdb381d7c21a9efa4041202288d3737a0c6a54", + "sha256:a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75" ], "markers": "python_version >= '3.7'", - "version": "==65.3.0" + "version": "==65.6.3" }, "six": { "hashes": [ @@ -602,7 +600,6 @@ "sha256:309a8da80cb6da9f4713438e5b55861877d5d7976b69d87e336733637ea12693", "sha256:ba3224a4e206e1fbdecf98a4fae4992ef9b24b85ebf7b584bb340156eaf08d89" ], - "index": "pypi", "version": "==5.1.1" }, "sphinx-rtd-theme": { @@ -610,7 +607,6 @@ "sha256:4d35a56f4508cfee4c4fb604373ede6feae2a306731d533f409ef5c3496fdbd8", "sha256:eec6d497e4c2195fa0e8b2016b337532b8a699a68bcb22a512870e16925c6a5c" ], - "index": "pypi", "version": "==1.0.0" }, "sphinxcontrib-applehelp": { @@ -674,7 +670,6 @@ "sha256:3b780c3d966e1b26414830aec3d15000654b31e64e024f3e5fd128b4c6eb8f47", "sha256:7d3839b033859b45fb55df82b74cfd702431933c0cc9f287a5a7ea3e05d042cb" ], - "index": "pypi", "version": "==22.8.0" }, "twine": { @@ -682,16 +677,15 @@ "sha256:42026c18e394eac3e06693ee52010baa5313e4811d5a11050e7d48436cf41b9e", "sha256:96b1cf12f7ae611a4a40b6ae8e9570215daff0611828f5fe1f37a16255ab24a0" ], - "index": "pypi", "version": "==4.0.1" }, "urllib3": { "hashes": [ - "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e", - "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997" + "sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc", + "sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' and python_version < '4'", - "version": "==1.26.12" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==1.26.13" }, "webencodings": { "hashes": [ @@ -705,16 +699,15 @@ "sha256:4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a", "sha256:e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4" ], - "index": "pypi", "version": "==0.37.1" }, "zipp": { "hashes": [ - "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2", - "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009" + "sha256:83a28fcb75844b5c0cdaf5aa4003c2d728c77e05f5aeabe8e95e56727005fbaa", + "sha256:a7a22e05929290a67401440b39690ae6563279bced5f314609d9d03798f56766" ], "markers": "python_version >= '3.7'", - "version": "==3.8.1" + "version": "==3.11.0" } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/examples/Pipfile.invalid.extras-list new/plette-0.4.4/examples/Pipfile.invalid.extras-list --- old/plette-0.4.2/examples/Pipfile.invalid.extras-list 1970-01-01 01:00:00.000000000 +0100 +++ new/plette-0.4.4/examples/Pipfile.invalid.extras-list 2022-12-15 19:57:11.000000000 +0100 @@ -0,0 +1,4 @@ +# package specifiers should be a dict +[packages] +msal = {version= "==1.20.0", extras = "broker"} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/examples/Pipfile.invalid.list new/plette-0.4.4/examples/Pipfile.invalid.list --- old/plette-0.4.2/examples/Pipfile.invalid.list 1970-01-01 01:00:00.000000000 +0100 +++ new/plette-0.4.4/examples/Pipfile.invalid.list 2022-12-15 19:57:11.000000000 +0100 @@ -0,0 +1,4 @@ +# package specifiers should be a dict +[packages] +msal = ["1.20.0", "broker"] + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/examples/Pipfile.invalid.pre-releases new/plette-0.4.4/examples/Pipfile.invalid.pre-releases --- old/plette-0.4.2/examples/Pipfile.invalid.pre-releases 1970-01-01 01:00:00.000000000 +0100 +++ new/plette-0.4.4/examples/Pipfile.invalid.pre-releases 2022-12-15 19:57:11.000000000 +0100 @@ -0,0 +1,5 @@ +[packages] +sqlalchemy = "==1.2.0b3" + +[pipenv] +allow_prereleases = "False" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/examples/Pipfile.invalid.with-categories new/plette-0.4.4/examples/Pipfile.invalid.with-categories --- old/plette-0.4.2/examples/Pipfile.invalid.with-categories 1970-01-01 01:00:00.000000000 +0100 +++ new/plette-0.4.4/examples/Pipfile.invalid.with-categories 2022-12-15 19:57:11.000000000 +0100 @@ -0,0 +1,5 @@ +[packages] +plette = { path = '.', extras = ['validation'], editable = true } + +[documentation] +msal = {version= "==1.20.0", extras = "broker"} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/examples/Pipfile.ok.editable new/plette-0.4.4/examples/Pipfile.ok.editable --- old/plette-0.4.2/examples/Pipfile.ok.editable 1970-01-01 01:00:00.000000000 +0100 +++ new/plette-0.4.4/examples/Pipfile.ok.editable 2022-12-15 19:57:11.000000000 +0100 @@ -0,0 +1,3 @@ +[packages] +parver = '*' +foo = {path = ".", editable = true, extras = ["tests", "dev"]} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/examples/Pipfile.ok.extras-list new/plette-0.4.4/examples/Pipfile.ok.extras-list --- old/plette-0.4.2/examples/Pipfile.ok.extras-list 1970-01-01 01:00:00.000000000 +0100 +++ new/plette-0.4.4/examples/Pipfile.ok.extras-list 2022-12-15 19:57:11.000000000 +0100 @@ -0,0 +1,4 @@ +# package extras are a list +[packages] +msal = {version= "==1.20.0", extras = ["broker"]} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/examples/Pipfile.ok.list new/plette-0.4.4/examples/Pipfile.ok.list --- old/plette-0.4.2/examples/Pipfile.ok.list 1970-01-01 01:00:00.000000000 +0100 +++ new/plette-0.4.4/examples/Pipfile.ok.list 2022-12-15 19:57:11.000000000 +0100 @@ -0,0 +1,6 @@ + +# extras should be a list +[packages] +msal = {version="==1.20.0", extras=["broker"]} +parver = '*' + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/examples/Pipfile.ok.pipfile-section new/plette-0.4.4/examples/Pipfile.ok.pipfile-section --- old/plette-0.4.2/examples/Pipfile.ok.pipfile-section 1970-01-01 01:00:00.000000000 +0100 +++ new/plette-0.4.4/examples/Pipfile.ok.pipfile-section 2022-12-15 19:57:11.000000000 +0100 @@ -0,0 +1,8 @@ +[pipenv] +install_search_all_sources = true + +# extras should be a list +[packages] +msal = {version="==1.20.0", extras=["broker"]} +parver = '*' + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/examples/Pipfile.ok.pre-releases new/plette-0.4.4/examples/Pipfile.ok.pre-releases --- old/plette-0.4.2/examples/Pipfile.ok.pre-releases 1970-01-01 01:00:00.000000000 +0100 +++ new/plette-0.4.4/examples/Pipfile.ok.pre-releases 2022-12-15 19:57:11.000000000 +0100 @@ -0,0 +1,5 @@ +[packages] +sqlalchemy = "==1.2.0b3" + +[pipenv] +allow_prereleases = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/examples/Pipfile.ok.with-categories new/plette-0.4.4/examples/Pipfile.ok.with-categories --- old/plette-0.4.2/examples/Pipfile.ok.with-categories 1970-01-01 01:00:00.000000000 +0100 +++ new/plette-0.4.4/examples/Pipfile.ok.with-categories 2022-12-15 19:57:11.000000000 +0100 @@ -0,0 +1,5 @@ +[packages] +plette = { path = '.', extras = ['validation'], editable = true } + +[documentation] +sphinx = "*" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/pyproject.toml new/plette-0.4.4/pyproject.toml --- old/plette-0.4.2/pyproject.toml 2022-10-11 22:24:30.000000000 +0200 +++ new/plette-0.4.4/pyproject.toml 2022-12-15 19:57:11.000000000 +0100 @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools>=36.6.2", "wheel>=0.28.0"] +requires = ["setuptools>=61.0.0", "wheel>=0.28.0"] build-backend = "setuptools.build_meta" [project] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/setup.py new/plette-0.4.4/setup.py --- old/plette-0.4.2/setup.py 2022-10-11 22:24:30.000000000 +0200 +++ new/plette-0.4.4/setup.py 2022-12-15 19:57:11.000000000 +0100 @@ -19,13 +19,11 @@ raise EnvironmentError('failed to read version') -# Put everything in setup.cfg, except those that don't actually work? setup( # These really don't work. package_dir={'': 'src'}, packages=find_packages('src'), - # I don't know how to specify an empty key in setup.cfg. package_data={ '': ['LICENSE*', 'README*'], }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/src/plette/__init__.py new/plette-0.4.4/src/plette/__init__.py --- old/plette-0.4.2/src/plette/__init__.py 2022-10-11 22:24:30.000000000 +0200 +++ new/plette-0.4.4/src/plette/__init__.py 2022-12-15 19:57:11.000000000 +0100 @@ -3,7 +3,7 @@ "Lockfile", "Pipfile", ] -__version__ = '0.4.2' +__version__ = '0.4.4' from .lockfiles import Lockfile from .pipfiles import Pipfile diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/src/plette/__main__.py new/plette-0.4.4/src/plette/__main__.py --- old/plette-0.4.2/src/plette/__main__.py 1970-01-01 01:00:00.000000000 +0100 +++ new/plette-0.4.4/src/plette/__main__.py 2022-12-15 19:57:11.000000000 +0100 @@ -0,0 +1,24 @@ +""" +A simple entry point which can be use to test Pipfiles + +e.g. + +python -m plette -f examples/Pipfile.valid.list +python -m plette -f examples/Pipfile.valid.editable +# throws exception +python -m plette -f examples/Pipfile.invalid.list + +""" +from plette import Pipfile + +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument("-f", "--file", help="Input file") + +args = parser.parse_args() + +dest = args.file + +with open(dest) as f: + pipfile = Pipfile.load(f) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/src/plette/models/__init__.py new/plette-0.4.4/src/plette/models/__init__.py --- old/plette-0.4.2/src/plette/models/__init__.py 2022-10-11 22:24:30.000000000 +0200 +++ new/plette-0.4.4/src/plette/models/__init__.py 2022-12-15 19:57:11.000000000 +0100 @@ -16,5 +16,11 @@ from .sources import Source from .sections import ( - Meta, Requires, PackageCollection, ScriptCollection, SourceCollection, + Meta, + Requires, + PackageCollection, + Pipenv, + PipfileSection, + ScriptCollection, + SourceCollection, ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/src/plette/models/packages.py new/plette-0.4.4/src/plette/models/packages.py --- old/plette-0.4.2/src/plette/models/packages.py 2022-10-11 22:24:30.000000000 +0200 +++ new/plette-0.4.4/src/plette/models/packages.py 2022-12-15 19:57:11.000000000 +0100 @@ -21,7 +21,9 @@ def validate(cls, data): # HACK: Make this validatable for Cerberus. See comments in validation # side for more information. - return super(Package, cls).validate({"__package__": data}) + super(Package, cls).validate({"__package__": data}) + if isinstance(data, dict): + PackageSpecfiers.validate({"__specifiers__": data}) def __getattr__(self, key): if isinstance(self._data, str): @@ -41,3 +43,16 @@ self._data = value else: self._data[key] = value + +class PackageSpecfiers(DataView): + # TODO: one could add here more validation for path editable + # and more stuff which is currently allowed and undocumented + __SCHEMA__ = { + "__specifiers__": { + "type": "dict", + "schema":{ + "version": {"type": "string"}, + "extras": {"type": "list"}, + } + } + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/src/plette/models/sections.py new/plette-0.4.4/src/plette/models/sections.py --- old/plette-0.4.2/src/plette/models/sections.py 2022-10-11 22:24:30.000000000 +0200 +++ new/plette-0.4.4/src/plette/models/sections.py 2022-12-15 19:57:11.000000000 +0100 @@ -50,6 +50,16 @@ "sources": SourceCollection, } +class PipfileSection(DataView): + + """ + Dummy pipfile validator that needs to be completed in a future PR + Hint: many pipfile features are undocumented in pipenv/project.py + """ + + @classmethod + def validate(cls, data): + pass class Meta(DataView): """Representation of the `_meta` section in a Pipfile.lock.""" @@ -119,3 +129,11 @@ @sources.setter def sources(self, value): self["sources"] = value + + +class Pipenv(DataView): + """Represent the [pipenv] section in Pipfile""" + + __SCHEMA__ = { + "allow_prereleases": {"type": "boolean", "required": False}, + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/src/plette/pipfiles.py new/plette-0.4.4/src/plette/pipfiles.py --- old/plette-0.4.2/src/plette/pipfiles.py 2022-10-11 22:24:30.000000000 +0200 +++ new/plette-0.4.4/src/plette/pipfiles.py 2022-12-15 19:57:11.000000000 +0100 @@ -4,7 +4,7 @@ import tomlkit from .models import ( - DataView, Hash, Requires, + DataView, Hash, Requires, PipfileSection, Pipenv, PackageCollection, ScriptCollection, SourceCollection, ) @@ -15,6 +15,8 @@ "dev-packages": PackageCollection, "requires": Requires, "scripts": ScriptCollection, + "pipfile": PipfileSection, + "pipenv": Pipenv } DEFAULT_SOURCE_TOML = """\ @@ -24,7 +26,6 @@ verify_ssl = true """ - class Pipfile(DataView): """Representation of a Pipfile. """ @@ -42,6 +43,11 @@ continue klass.validate(data[key]) + package_categories = set(data.keys()) - set(PIPFILE_SECTIONS.keys()) + + for category in package_categories: + PackageCollection.validate(data[category]) + @classmethod def load(cls, f, encoding=None): content = f.read() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/tests/integration/test_examples.py new/plette-0.4.4/tests/integration/test_examples.py --- old/plette-0.4.2/tests/integration/test_examples.py 1970-01-01 01:00:00.000000000 +0100 +++ new/plette-0.4.4/tests/integration/test_examples.py 2022-12-15 19:57:11.000000000 +0100 @@ -0,0 +1,23 @@ +import glob + +import pytest + +import plette +from plette import Pipfile + +invalid_files = glob.glob("examples/*invalid*") +valid_files = glob.glob("examples/*ok*") + [email protected]("fname", invalid_files) +def test_invalid_files(fname): + + with pytest.raises(plette.models.base.ValidationError): + with open(fname) as f: + pipfile = Pipfile.load(f) + + [email protected]("fname", valid_files) +def test_valid_files(fname): + + with open(fname) as f: + pipfile = Pipfile.load(f) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plette-0.4.2/tests/test_models.py new/plette-0.4.4/tests/test_models.py --- old/plette-0.4.2/tests/test_models.py 2022-10-11 22:24:30.000000000 +0200 +++ new/plette-0.4.4/tests/test_models.py 2022-12-15 19:57:11.000000000 +0100 @@ -114,6 +114,18 @@ assert str(ctx.value) == "version" [email protected](cerberus is None, reason="Skip validation without Ceberus") +def test_package_with_wrong_extras(): + with pytest.raises(models.base.ValidationError): + p = models.Package({"version": "==1.20.0", "extras": "broker"}) + + [email protected](cerberus is None, reason="Skip validation without Ceberus") +def test_package_with_extras(): + p = models.Package({"version": "==1.20.0", "extras": ["broker", "tests"]}) + assert p.extras == ['broker', 'tests'] + + HASH = "9aaf3dbaf8c4df3accd4606eb2275d3b91c9db41be4fd5a97ecc95d79a12cfe6"
