diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 60e8d37..808e269 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,5 +1,11 @@ Changelog ========= +* 0.9.4 (August 29, 2023) + * Removed python 2 compatible decorators + * Removed python 2 dependencies + * Fixed issue with MarkupInfo field on AccountBasedExpenseLineDetail + * Removed test files from package + * 0.9.3 (March 7, 2023) * Added support for Recurring Transaction * Added support for optional query params diff --git a/MANIFEST.in b/MANIFEST.in index d49e8c4..9a8b7c4 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,3 +1,3 @@ include README.md include LICENSE -recursive-include tests * \ No newline at end of file +recursive-exclude tests * \ No newline at end of file diff --git a/Makefile b/Makefile index 420f0b8..c59408c 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,3 @@ - publish: clean python setup.py sdist twine upload dist/* diff --git a/Pipfile b/Pipfile index 0e568b4..a3ddd03 100644 --- a/Pipfile +++ b/Pipfile @@ -10,9 +10,8 @@ urllib3 = ">=1.26.5" bleach = ">=3.3.0" intuit-oauth = "==1.2.4" rauth = ">=0.7.3" -requests = ">=2.26.0" -simplejson = ">=3.17.0" -six = ">=1.14.0" +requests = ">=2.31.0" +simplejson = ">=3.19.1" nose = "*" coverage = "*" twine = "*" diff --git a/Pipfile.lock b/Pipfile.lock index 31478d1..41ccc28 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "0dcea13aefe56fd4407fd1616f124a4527372bbc6a4324e6d75ec31027624edd" + "sha256": "f8797f56e2b6c880a4ad872b0cdc9bf0b6388112b1e3b35ee6dc644e406507b0" }, "pipfile-spec": 6, "requires": { @@ -22,168 +22,171 @@ "sha256:33c16e3353dbd13028ab4799a0f89a83f113405c766e9c122df8a06f5b85b3f4" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==6.0.0" }, "certifi": { "hashes": [ - "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3", - "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18" + "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082", + "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9" ], "markers": "python_version >= '3.6'", - "version": "==2022.12.7" + "version": "==2023.7.22" }, "charset-normalizer": { "hashes": [ - "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6", - "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1", - "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e", - "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373", - "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62", - "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230", - "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be", - "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c", - "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0", - "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448", - "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f", - "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649", - "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d", - "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0", - "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706", - "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a", - "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59", - "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23", - "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5", - "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb", - "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e", - "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e", - "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c", - "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28", - "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d", - "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41", - "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974", - "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce", - "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f", - "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1", - "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d", - "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8", - "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017", - "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31", - "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7", - "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8", - "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e", - "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14", - "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd", - "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d", - "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795", - "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b", - "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b", - "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b", - "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203", - "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f", - "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19", - "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1", - "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a", - "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac", - "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9", - "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0", - "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137", - "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f", - "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6", - "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5", - "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909", - "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f", - "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0", - "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324", - "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755", - "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb", - "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854", - "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c", - "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60", - "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84", - "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0", - "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b", - "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1", - "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531", - "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1", - "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11", - "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326", - "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df", - "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab" - ], - "markers": "python_version >= '3.7'", - "version": "==3.1.0" + "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96", + "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c", + "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710", + "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706", + "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020", + "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252", + "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad", + "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329", + "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a", + "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f", + "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6", + "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4", + "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a", + "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46", + "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2", + "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23", + "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace", + "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd", + "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982", + "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10", + "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2", + "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea", + "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09", + "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5", + "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149", + "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489", + "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9", + "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80", + "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592", + "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3", + "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6", + "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed", + "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c", + "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200", + "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a", + "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e", + "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d", + "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6", + "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623", + "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669", + "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3", + "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa", + "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9", + "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2", + "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f", + "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1", + "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4", + "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a", + "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8", + "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3", + "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029", + "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f", + "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959", + "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22", + "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7", + "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952", + "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346", + "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e", + "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d", + "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299", + "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd", + "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a", + "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3", + "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037", + "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94", + "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c", + "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858", + "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a", + "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449", + "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c", + "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918", + "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1", + "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c", + "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac", + "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa" + ], + "markers": "python_full_version >= '3.7.0'", + "version": "==3.2.0" }, "coverage": { "hashes": [ - "sha256:0339dc3237c0d31c3b574f19c57985fcbe494280153bbcad33f2cdf469f4ac3e", - "sha256:09643fb0df8e29f7417adc3f40aaf379d071ee8f0350ab290517c7004f05360b", - "sha256:0bd7e628f6c3ec4e7d2d24ec0e50aae4e5ae95ea644e849d92ae4805650b4c4e", - "sha256:0cf557827be7eca1c38a2480484d706693e7bb1929e129785fe59ec155a59de6", - "sha256:0f8318ed0f3c376cfad8d3520f496946977abde080439d6689d7799791457454", - "sha256:1b7fb13850ecb29b62a447ac3516c777b0e7a09ecb0f4bb6718a8654c87dfc80", - "sha256:22c308bc508372576ffa3d2dbc4824bb70d28eeb4fcd79d4d1aed663a06630d0", - "sha256:3004765bca3acd9e015794e5c2f0c9a05587f5e698127ff95e9cfba0d3f29339", - "sha256:3a209d512d157379cc9ab697cbdbb4cfd18daa3e7eebaa84c3d20b6af0037384", - "sha256:436313d129db7cf5b4ac355dd2bd3f7c7e5294af077b090b85de75f8458b8616", - "sha256:49567ec91fc5e0b15356da07a2feabb421d62f52a9fff4b1ec40e9e19772f5f8", - "sha256:4dd34a935de268a133e4741827ae951283a28c0125ddcdbcbba41c4b98f2dfef", - "sha256:570c21a29493b350f591a4b04c158ce1601e8d18bdcd21db136fbb135d75efa6", - "sha256:5928b85416a388dd557ddc006425b0c37e8468bd1c3dc118c1a3de42f59e2a54", - "sha256:5d2b9b5e70a21474c105a133ba227c61bc95f2ac3b66861143ce39a5ea4b3f84", - "sha256:617a94ada56bbfe547aa8d1b1a2b8299e2ec1ba14aac1d4b26a9f7d6158e1273", - "sha256:6a034480e9ebd4e83d1aa0453fd78986414b5d237aea89a8fdc35d330aa13bae", - "sha256:6fce673f79a0e017a4dc35e18dc7bb90bf6d307c67a11ad5e61ca8d42b87cbff", - "sha256:78d2c3dde4c0b9be4b02067185136b7ee4681978228ad5ec1278fa74f5ca3e99", - "sha256:7f099da6958ddfa2ed84bddea7515cb248583292e16bb9231d151cd528eab657", - "sha256:80559eaf6c15ce3da10edb7977a1548b393db36cbc6cf417633eca05d84dd1ed", - "sha256:834c2172edff5a08d78e2f53cf5e7164aacabeb66b369f76e7bb367ca4e2d993", - "sha256:861cc85dfbf55a7a768443d90a07e0ac5207704a9f97a8eb753292a7fcbdfcfc", - "sha256:8649371570551d2fd7dee22cfbf0b61f1747cdfb2b7587bb551e4beaaa44cb97", - "sha256:87dc37f16fb5e3a28429e094145bf7c1753e32bb50f662722e378c5851f7fdc6", - "sha256:8a6450da4c7afc4534305b2b7d8650131e130610cea448ff240b6ab73d7eab63", - "sha256:8d3843ca645f62c426c3d272902b9de90558e9886f15ddf5efe757b12dd376f5", - "sha256:8dca3c1706670297851bca1acff9618455122246bdae623be31eca744ade05ec", - "sha256:97a3189e019d27e914ecf5c5247ea9f13261d22c3bb0cfcfd2a9b179bb36f8b1", - "sha256:99f4dd81b2bb8fc67c3da68b1f5ee1650aca06faa585cbc6818dbf67893c6d58", - "sha256:9e872b082b32065ac2834149dc0adc2a2e6d8203080501e1e3c3c77851b466f9", - "sha256:a81dbcf6c6c877986083d00b834ac1e84b375220207a059ad45d12f6e518a4e3", - "sha256:abacd0a738e71b20e224861bc87e819ef46fedba2fb01bc1af83dfd122e9c319", - "sha256:ae82c988954722fa07ec5045c57b6d55bc1a0890defb57cf4a712ced65b26ddd", - "sha256:b0c0d46de5dd97f6c2d1b560bf0fcf0215658097b604f1840365296302a9d1fb", - "sha256:b1991a6d64231a3e5bbe3099fb0dd7c9aeaa4275ad0e0aeff4cb9ef885c62ba2", - "sha256:b2167d116309f564af56f9aa5e75ef710ef871c5f9b313a83050035097b56820", - "sha256:bd5a12239c0006252244f94863f1c518ac256160cd316ea5c47fb1a11b25889a", - "sha256:bdd3f2f285ddcf2e75174248b2406189261a79e7fedee2ceeadc76219b6faa0e", - "sha256:c77f2a9093ccf329dd523a9b2b3c854c20d2a3d968b6def3b820272ca6732242", - "sha256:cb5f152fb14857cbe7f3e8c9a5d98979c4c66319a33cad6e617f0067c9accdc4", - "sha256:cca7c0b7f5881dfe0291ef09ba7bb1582cb92ab0aeffd8afb00c700bf692415a", - "sha256:d2ef6cae70168815ed91388948b5f4fcc69681480a0061114db737f957719f03", - "sha256:d9256d4c60c4bbfec92721b51579c50f9e5062c21c12bec56b55292464873508", - "sha256:e191a63a05851f8bce77bc875e75457f9b01d42843f8bd7feed2fc26bbe60833", - "sha256:e2b50ebc2b6121edf352336d503357321b9d8738bb7a72d06fc56153fd3f4cd8", - "sha256:e3ea04b23b114572b98a88c85379e9e9ae031272ba1fb9b532aa934c621626d4", - "sha256:e4d70c853f0546855f027890b77854508bdb4d6a81242a9d804482e667fff6e6", - "sha256:f29351393eb05e6326f044a7b45ed8e38cb4dcc38570d12791f271399dc41431", - "sha256:f3d07edb912a978915576a776756069dede66d012baa503022d3a0adba1b6afa", - "sha256:fac6343bae03b176e9b58104a9810df3cdccd5cfed19f99adfa807ffbf43cf9b" + "sha256:07ea61bcb179f8f05ffd804d2732b09d23a1238642bf7e51dad62082b5019b34", + "sha256:1084393c6bda8875c05e04fce5cfe1301a425f758eb012f010eab586f1f3905e", + "sha256:13c6cbbd5f31211d8fdb477f0f7b03438591bdd077054076eec362cf2207b4a7", + "sha256:211a4576e984f96d9fce61766ffaed0115d5dab1419e4f63d6992b480c2bd60b", + "sha256:2d22172f938455c156e9af2612650f26cceea47dc86ca048fa4e0b2d21646ad3", + "sha256:34f9f0763d5fa3035a315b69b428fe9c34d4fc2f615262d6be3d3bf3882fb985", + "sha256:3558e5b574d62f9c46b76120a5c7c16c4612dc2644c3d48a9f4064a705eaee95", + "sha256:36ce5d43a072a036f287029a55b5c6a0e9bd73db58961a273b6dc11a2c6eb9c2", + "sha256:37d5576d35fcb765fca05654f66aa71e2808d4237d026e64ac8b397ffa66a56a", + "sha256:3c9834d5e3df9d2aba0275c9f67989c590e05732439b3318fa37a725dff51e74", + "sha256:438856d3f8f1e27f8e79b5410ae56650732a0dcfa94e756df88c7e2d24851fcd", + "sha256:477c9430ad5d1b80b07f3c12f7120eef40bfbf849e9e7859e53b9c93b922d2af", + "sha256:49ab200acf891e3dde19e5aa4b0f35d12d8b4bd805dc0be8792270c71bd56c54", + "sha256:49dbb19cdcafc130f597d9e04a29d0a032ceedf729e41b181f51cd170e6ee865", + "sha256:4c8e31cf29b60859876474034a83f59a14381af50cbe8a9dbaadbf70adc4b214", + "sha256:4eddd3153d02204f22aef0825409091a91bf2a20bce06fe0f638f5c19a85de54", + "sha256:5247bab12f84a1d608213b96b8af0cbb30d090d705b6663ad794c2f2a5e5b9fe", + "sha256:5492a6ce3bdb15c6ad66cb68a0244854d9917478877a25671d70378bdc8562d0", + "sha256:56afbf41fa4a7b27f6635bc4289050ac3ab7951b8a821bca46f5b024500e6321", + "sha256:59777652e245bb1e300e620ce2bef0d341945842e4eb888c23a7f1d9e143c446", + "sha256:60f64e2007c9144375dd0f480a54d6070f00bb1a28f65c408370544091c9bc9e", + "sha256:63c5b8ecbc3b3d5eb3a9d873dec60afc0cd5ff9d9f1c75981d8c31cfe4df8527", + "sha256:68d8a0426b49c053013e631c0cdc09b952d857efa8f68121746b339912d27a12", + "sha256:74c160285f2dfe0acf0f72d425f3e970b21b6de04157fc65adc9fd07ee44177f", + "sha256:7a9baf8e230f9621f8e1d00c580394a0aa328fdac0df2b3f8384387c44083c0f", + "sha256:7df91fb24c2edaabec4e0eee512ff3bc6ec20eb8dccac2e77001c1fe516c0c84", + "sha256:7f297e0c1ae55300ff688568b04ff26b01c13dfbf4c9d2b7d0cb688ac60df479", + "sha256:80501d1b2270d7e8daf1b64b895745c3e234289e00d5f0e30923e706f110334e", + "sha256:85b7335c22455ec12444cec0d600533a238d6439d8d709d545158c1208483873", + "sha256:887665f00ea4e488501ba755a0e3c2cfd6278e846ada3185f42d391ef95e7e70", + "sha256:8f39c49faf5344af36042b293ce05c0d9004270d811c7080610b3e713251c9b0", + "sha256:90b6e2f0f66750c5a1178ffa9370dec6c508a8ca5265c42fbad3ccac210a7977", + "sha256:96d7d761aea65b291a98c84e1250cd57b5b51726821a6f2f8df65db89363be51", + "sha256:97af9554a799bd7c58c0179cc8dbf14aa7ab50e1fd5fa73f90b9b7215874ba28", + "sha256:97c44f4ee13bce914272589b6b41165bbb650e48fdb7bd5493a38bde8de730a1", + "sha256:a67e6bbe756ed458646e1ef2b0778591ed4d1fcd4b146fc3ba2feb1a7afd4254", + "sha256:ac0dec90e7de0087d3d95fa0533e1d2d722dcc008bc7b60e1143402a04c117c1", + "sha256:ad0f87826c4ebd3ef484502e79b39614e9c03a5d1510cfb623f4a4a051edc6fd", + "sha256:b3eb0c93e2ea6445b2173da48cb548364f8f65bf68f3d090404080d338e3a689", + "sha256:b543302a3707245d454fc49b8ecd2c2d5982b50eb63f3535244fd79a4be0c99d", + "sha256:b859128a093f135b556b4765658d5d2e758e1fae3e7cc2f8c10f26fe7005e543", + "sha256:bac329371d4c0d456e8d5f38a9b0816b446581b5f278474e416ea0c68c47dcd9", + "sha256:c02cfa6c36144ab334d556989406837336c1d05215a9bdf44c0bc1d1ac1cb637", + "sha256:c9737bc49a9255d78da085fa04f628a310c2332b187cd49b958b0e494c125071", + "sha256:ccc51713b5581e12f93ccb9c5e39e8b5d4b16776d584c0f5e9e4e63381356482", + "sha256:ce2ee86ca75f9f96072295c5ebb4ef2a43cecf2870b0ca5e7a1cbdd929cf67e1", + "sha256:d000a739f9feed900381605a12a61f7aaced6beae832719ae0d15058a1e81c1b", + "sha256:db76a1bcb51f02b2007adacbed4c88b6dee75342c37b05d1822815eed19edee5", + "sha256:e2ac9a1de294773b9fa77447ab7e529cf4fe3910f6a0832816e5f3d538cfea9a", + "sha256:e61260ec93f99f2c2d93d264b564ba912bec502f679793c56f678ba5251f0393", + "sha256:fac440c43e9b479d1241fe9d768645e7ccec3fb65dc3a5f6e90675e75c3f3e3a", + "sha256:fc0ed8d310afe013db1eedd37176d0839dc66c96bcfcce8f6607a73ffea2d6ba" ], "index": "pypi", - "version": "==7.2.1" + "markers": "python_version >= '3.8'", + "version": "==7.3.0" }, "docutils": { "hashes": [ - "sha256:33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6", - "sha256:5e1de4d849fee02c63b040a4a3fd567f4ab104defd8a5511fbbc24a8a017efbc" + "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6", + "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b" ], "markers": "python_version >= '3.7'", - "version": "==0.19" + "version": "==0.20.1" }, "ecdsa": { "hashes": [ "sha256:190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49", "sha256:80600258e7ed2f16b9aa1d7c295bd70194109ad5a30fdee0eaeefef1d4c559dd" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'", "version": "==0.18.0" }, "enum-compat": { @@ -197,7 +200,7 @@ "hashes": [ "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'", "version": "==0.18.3" }, "idna": { @@ -210,19 +213,19 @@ }, "importlib-metadata": { "hashes": [ - "sha256:7efb448ec9a5e313a57655d35aa54cd3e01b7e1fbcf72dce1bf06119420f5bad", - "sha256:e354bedeb60efa6affdcc8ae121b73544a7aa74156d047311948f6d711cd378d" + "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb", + "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743" ], - "markers": "python_version >= '3.7'", - "version": "==6.0.0" + "markers": "python_version >= '3.8'", + "version": "==6.8.0" }, "importlib-resources": { "hashes": [ - "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6", - "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a" + "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf", + "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4" ], "markers": "python_version < '3.9'", - "version": "==5.12.0" + "version": "==6.0.1" }, "intuit-oauth": { "hashes": [ @@ -234,27 +237,27 @@ }, "jaraco.classes": { "hashes": [ - "sha256:2353de3288bc6b82120752201c6b1c1a14b058267fa424ed5ce5984e3b922158", - "sha256:89559fa5c1d3c34eff6f631ad80bb21f378dbcbb35dd161fd2c6b93f5be2f98a" + "sha256:10afa92b6743f25c0cf5f37c6bb6e18e2c5bb84a16527ccfc0040ea377e7aaeb", + "sha256:c063dd08e89217cee02c8d5e5ec560f2c8ce6cdc2fcdc2e68f7b2e5547ed3621" ], - "markers": "python_version >= '3.7'", - "version": "==3.2.3" + "markers": "python_version >= '3.8'", + "version": "==3.3.0" }, "keyring": { "hashes": [ - "sha256:771ed2a91909389ed6148631de678f82ddc73737d85a927f382a8a1b157898cd", - "sha256:ba2e15a9b35e21908d0aaf4e0a47acc52d6ae33444df0da2b49d41a46ef6d678" + "sha256:4901caaf597bfd3bbd78c9a0c7c4c29fcd8310dab2cffefe749e916b6527acd6", + "sha256:ca0746a19ec421219f4d713f848fa297a661a8a8c1504867e55bfb5e09091509" ], - "markers": "python_version >= '3.7'", - "version": "==23.13.1" + "markers": "python_version >= '3.8'", + "version": "==24.2.0" }, "markdown-it-py": { "hashes": [ - "sha256:5a35f8d1870171d9acc47b99612dc146129b631baf04970128b568f190d0cc30", - "sha256:7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1" + "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", + "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb" ], - "markers": "python_version >= '3.7'", - "version": "==2.2.0" + "markers": "python_version >= '3.8'", + "version": "==3.0.0" }, "mdurl": { "hashes": [ @@ -266,11 +269,11 @@ }, "more-itertools": { "hashes": [ - "sha256:cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d", - "sha256:d2bc7f02446e86a68911e58ded76d6561eea00cddfb2a91e7019bbb586c799f3" + "sha256:626c369fa0eb37bac0291bce8259b332fd59ac792fa5497b59837309cd5b114a", + "sha256:64e0735fcfdc6f3464ea133afe8ea4483b1c5fe3a3d69852e6503b43a0b222e6" ], - "markers": "python_version >= '3.7'", - "version": "==9.1.0" + "markers": "python_version >= '3.8'", + "version": "==10.1.0" }, "nose": { "hashes": [ @@ -299,29 +302,19 @@ }, "pyasn1": { "hashes": [ - "sha256:014c0e9976956a08139dc0712ae195324a75e142284d5f87f1a87ee1b068a359", - "sha256:03840c999ba71680a131cfaee6fab142e1ed9bbd9c693e285cc6aca0d555e576", - "sha256:0458773cfe65b153891ac249bcf1b5f8f320b7c2ce462151f8fa74de8934becf", - "sha256:08c3c53b75eaa48d71cf8c710312316392ed40899cb34710d092e96745a358b7", - "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d", - "sha256:5c9414dcfede6e441f7e8f81b43b34e834731003427e5b09e4e00e3172a10f00", - "sha256:6e7545f1a61025a4e58bb336952c5061697da694db1cae97b116e9c46abcf7c8", - "sha256:78fa6da68ed2727915c4767bb386ab32cdba863caa7dbe473eaae45f9959da86", - "sha256:7ab8a544af125fb704feadb008c99a88805126fb525280b2270bb25cc1d78a12", - "sha256:99fcc3c8d804d1bc6d9a099921e39d827026409a58f2a720dcdb89374ea0c776", - "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba", - "sha256:e89bf84b5437b532b0803ba5c9a5e054d21fec423a89952a74f87fa2c9b7bce2", - "sha256:fec3e9d8e36808a28efb59b489e4528c10ad0f480e57dcc32b4de5c9d8c9fdf3" - ], - "version": "==0.4.8" + "sha256:87a2121042a1ac9358cabcaf1d07680ff97ee6404333bacca15f76aa8ad01a57", + "sha256:97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==0.5.0" }, "pygments": { "hashes": [ - "sha256:b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297", - "sha256:fa7bd7bd2771287c0de303af8bfdfc731f51bd2c6a47ab69d117138893b82717" + "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692", + "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29" ], - "markers": "python_version >= '3.6'", - "version": "==2.14.0" + "markers": "python_version >= '3.7'", + "version": "==2.16.1" }, "python-jose": { "hashes": [ @@ -340,19 +333,20 @@ }, "readme-renderer": { "hashes": [ - "sha256:cd653186dfc73055656f090f227f5cb22a046d7f71a841dfa305f55c9a513273", - "sha256:f67a16caedfa71eef48a31b39708637a6f4664c4394801a7b0d6432d13907343" + "sha256:4f4b11e5893f5a5d725f592c5a343e0dc74f5f273cb3dcf8c42d9703a27073f7", + "sha256:a38243d5b6741b700a850026e62da4bd739edc7422071e95fd5c4bb60171df86" ], - "markers": "python_version >= '3.7'", - "version": "==37.3" + "markers": "python_version >= '3.8'", + "version": "==41.0" }, "requests": { "hashes": [ - "sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa", - "sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf" + "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", + "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1" ], "index": "pypi", - "version": "==2.28.2" + "markers": "python_version >= '3.7'", + "version": "==2.31.0" }, "requests-oauthlib": { "hashes": [ @@ -364,11 +358,11 @@ }, "requests-toolbelt": { "hashes": [ - "sha256:18565aa58116d9951ac39baa288d3adb5b3ff975c4f25eee78555d89e8f247f7", - "sha256:62e09f7ff5ccbda92772a29f394a49c3ad6cb181d568b1337626b2abb628a63d" + "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6", + "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.10.1" + "version": "==1.0.0" }, "rfc3986": { "hashes": [ @@ -380,11 +374,11 @@ }, "rich": { "hashes": [ - "sha256:91954fe80cfb7985727a467ca98a7618e5dd15178cc2da10f553b36a93859001", - "sha256:a104f37270bf677148d8acb07d33be1569eeee87e2d1beb286a4e9113caf6f2f" + "sha256:146a90b3b6b47cac4a73c12866a499e9817426423f57c5a66949c086191a8808", + "sha256:fb9d6c0a0f643c99eed3875b5377a184132ba9be4d61516a55273d3554d75a39" ], - "markers": "python_version >= '3.7'", - "version": "==13.3.2" + "markers": "python_full_version >= '3.7.0'", + "version": "==13.5.2" }, "rsa": { "hashes": [ @@ -396,89 +390,102 @@ }, "simplejson": { "hashes": [ - "sha256:04a4b9a297cccbc9e1d66fe652fbffd55b36d6579c43132e821d315957302194", - "sha256:063db62a9251e61ea0c17e49c3e7bed465bfcc5359655abcb8c0bc6130a4e0d4", - "sha256:070ab073ce72f1624107dfd6d095c87ac32aafe7ba54a5c5055a3dd83cb06e51", - "sha256:099bbd3b5b4ea83159a980348cd481a34984dee5fe1b9fac31a9137158f46960", - "sha256:0baf8c60efef74944ed4adb034d14bcf737731576f0e4c3c56fb875ea256af69", - "sha256:0e7c3fae6c9540064e06a653780b4f263675cd69ca6841345029fee3e27e9bb5", - "sha256:141782a0a25c1792627575b37b4951583358ccc7137623aa45947f8425ee8d96", - "sha256:14b35fb90083218e59df5dba733c7086655f2938f3fcabe36ad849623941d660", - "sha256:169c2c7446ef33439c304a6aa5b7b5a2dbc938c9c2dd882dd3f2553f9518ebf6", - "sha256:16cc750d19852fa5ebafd55da86fa357f87991e07b4e2afb37a5975dfdde0153", - "sha256:1907d49d70c75530976119c13785db91168d2599288debaca7d25da9cd2f3747", - "sha256:1b79e2607ac5ba98381c2e068727acc1e4dd385a6d216914c0613f8f568a06a5", - "sha256:1e49c84df6e71e3c23169d3df481565dd607cbee4aa1e0af15c493cccad7c745", - "sha256:23fce984045804194f513a2739dcd82be350198470d5ade5058da019a48cf3f8", - "sha256:24823364fee93bab141621b3a2e10612e31be7ca58788bf9b2cd2b1ce37ab07d", - "sha256:290bbcdcbb37af3f7e43378f592ab7a9168fca640da6af63d42cdb535f96bbf2", - "sha256:2a1b3222bc8f6ac91b5ebe3263111c7dc4dc4b01c52f0153f5bb1f3ef3bf0023", - "sha256:2b0f6de11f5ce4b80f51bc49d08b898602e190547f8efe4e44af8ae3cda7779d", - "sha256:2be75f4cb9951efeb2616e16f944ee4f9a09768475a3f5c40a6ac4dc5ee68dfd", - "sha256:2c7ee643ee93684bf76196e2d84a2090c6df8f01737a016e869b579593827b6e", - "sha256:37bdef13412c0bc338db2993a38f3911d5bd2a0ba8d00b3bc66d1063edd7c33e", - "sha256:3bab9ea49ff477c926c5787f79ec47cf51c7ffb15c9d8dd0f09e728807d44f4b", - "sha256:44d6c52d4f5c0c087a6e88a92bf9f94234321d21be32c6471ba39856e304bbe3", - "sha256:4b8d4d958c5ab3489d1174917a7fad82da642560c39ce559a624e63deaaa36b1", - "sha256:4de9fed1166aeedee44150fa83bc059aca6b612940281f8b5a39374781f16196", - "sha256:502d86fbfe914263642479b87ed61af3b27b9e039df77acd2416cfccfc892e68", - "sha256:508342d7227ed66beecfbba7a38b46e1a713faeb034216f43f03ec5c175e0622", - "sha256:50f4b6d52f3a2d1cffd11834a1fe7f9516f0e3f20cbe78027aa88ff990fad7d6", - "sha256:52465a5578cfc2c5e374a574df14dfb75e04c6cb6a100b7abc8bf6c89bea8f5e", - "sha256:55aa983575b0aef143845f5bfbb35075475eccaebf7d4b30f4037a2fe8414666", - "sha256:55df3dfd8777bf134e1078d2f195352432a77f23ccb90b92b08218123d56adc9", - "sha256:56f186d44a9f625b5e5d9ba4b9551e263604000a7df60cb373b3e789ca603b2a", - "sha256:5780e3929435a8d39671537174f8ce0ccafb4f6e0c748ffe139916ffbdca39d3", - "sha256:59a629240cfbc5b4f390a8578dca74ae77ab617de971862acb946822d2eb1b11", - "sha256:5b009342e712026ffabe8a471d5b4a4ff2a038687387e74eae601574c04dae33", - "sha256:62628ea5df8c830d00a7417d5ecd949a1b24a8d0a5063a2a77f7ec7522110a0f", - "sha256:694332fd6fd10fe8868c2508583220d1a1a7be9ff049dab5bd6b9aedfb9edc50", - "sha256:6a49665169c18f27a0fc10935466332ee7406ee14ced8dc0a1b4d465547299aa", - "sha256:6b997739fdbc9b7030ff490fc8e5f8c144b8ec80f3605eff643983672bb8cfde", - "sha256:6bd81d10cb3384f64242316da8a2b2f88618776bc1ef38bcc79f1afe8ad36616", - "sha256:6c4c56c5abb82e22877b913186e5c0fd7d9eef0c930719e28fa451d3f11defb4", - "sha256:6fe1173b4146641c872bafa6f9a21f3a2012f502d54fbb523a76e6320024fae9", - "sha256:75eb555dc349d0cbe2c95ea2be665b306c6ac6d5b64e3a3920af9b805ecdb5f7", - "sha256:7c26fe63755ecc59c502ddde8e58ce8b765bf4fdd3f5858d2b7c8ab28bc2a9c8", - "sha256:7e73d9d6af3c29b60a92e28b3144d951110f59a3d05fc402c3f6c5248b883400", - "sha256:7ff65b475091084e5bdb7f26e9c555956be7355b573ce494fa96f9f8e34541ac", - "sha256:8209c40279ed9b2cd5fbe2d617a29a074e90ea97fce7c07a0128a01cb3e8afc5", - "sha256:88f59a07873dc1f06fd9e6712dd71286f1b297a066ad2fd9110ad080d3cb011c", - "sha256:96ade36640734b54176c4765d00a60767bd7fae5b7a5b3574accc055ac18e34c", - "sha256:9cf299fbb7d476676dfea372a3262654af98694bd1df35b060ce0fe1b68087f1", - "sha256:a2960b95f3ba822d077d1afa7e1fea9799cfb2990028cf010e666f64195ecb5a", - "sha256:a80bd9a3db88a76a401155c64e3499376c702307c2206cb381cc2a8dd9cc4f1f", - "sha256:aad323e92cb1bd3b1db6f57c007dca964d13c52247ad844203ce381e94066601", - "sha256:ab5bdf0b8d07f7fd603b2d0c1982412cd9f8ade997088ddced251f7e656c7fd4", - "sha256:b0352428b35da859a98770949e7353866ae65463026f1c8e4c89a6395d4b5fd7", - "sha256:b2c4e8b65987f3c6529149495d28e23efe213e94dc3659176c4ab22d18a9ee4a", - "sha256:bcd9eac304a133ee4af58e68c5ded4c5ba663d3ee4602e8613359b776a1f8c8f", - "sha256:c3b696770b504f881f271f97b94a687487ec1ef20bfbd5f20d92bbab7a85952d", - "sha256:c4514675f6571da8190fea52a110bca686fa844972e8b2b3bc07ace9e632ee4f", - "sha256:c98fddc374468158778a8afb3fd7296412a2b2fc34cebba64212ac3e018e7382", - "sha256:cde5a3ff5e0bd5d6da676314dfae86c9e99bff77bca03d30223c9718a58f9e83", - "sha256:cf7168b2046db0eceb83d8ed2ee31c0847ce18b2d8baf3e93de9560f3921a8c3", - "sha256:d774782159347d66563cd7ac18b9dd37010438a825160cde4818caa18110a746", - "sha256:d990ea42ba908cb57a3df97d283aa26c1822f10a0a60e250b54ee21cd08c48d0", - "sha256:e762e9d8556fa9f3a99f8a278eeba50a35b5f554b82deeb282ddbdd85816e638", - "sha256:e8a4750e8db92109e6f1f7783a7faae4254d6d5dc28a41ff7eff7d2265f0586b", - "sha256:eb81cfef0c0039010f0212f4e5eb6909641b8a54c761584054ac97fd7bd0c21a", - "sha256:ebb53837c5ffcb6100646018565d3f1afed6f4b185b14b2c9cbccf874fe40157", - "sha256:efa70fd9b6c7b57b048ecadb909683acd535cddebc5b22f3c05ba3b369739caf", - "sha256:f73bae5e315adf7bc8cb7f0a13a1e9e33bead42e8ce174be83ac9ecc2513c86a", - "sha256:f89f078114cacedb9a3392615cc099cf02a51efa7507f90e2006bf7ec38c880d", - "sha256:f9f72d2b539512f382a48cc9ad6cea2d3a572e71e92c40e03d2140041eeaa233", - "sha256:fc8df5831b645e96a318ea51a66ce6e2bb869eebc3fa9a860bbf67aecd270055" + "sha256:081ea6305b3b5e84ae7417e7f45956db5ea3872ec497a584ec86c3260cda049e", + "sha256:08be5a241fdf67a8e05ac7edbd49b07b638ebe4846b560673e196b2a25c94b92", + "sha256:0c16ec6a67a5f66ab004190829eeede01c633936375edcad7cbf06d3241e5865", + "sha256:0ccb2c1877bc9b25bc4f4687169caa925ffda605d7569c40e8e95186e9a5e58b", + "sha256:17a963e8dd4d81061cc05b627677c1f6a12e81345111fbdc5708c9f088d752c9", + "sha256:199a0bcd792811c252d71e3eabb3d4a132b3e85e43ebd93bfd053d5b59a7e78b", + "sha256:1cb19eacb77adc5a9720244d8d0b5507421d117c7ed4f2f9461424a1829e0ceb", + "sha256:203412745fed916fc04566ecef3f2b6c872b52f1e7fb3a6a84451b800fb508c1", + "sha256:2098811cd241429c08b7fc5c9e41fcc3f59f27c2e8d1da2ccdcf6c8e340ab507", + "sha256:22b867205cd258050c2625325fdd9a65f917a5aff22a23387e245ecae4098e78", + "sha256:23fbb7b46d44ed7cbcda689295862851105c7594ae5875dce2a70eeaa498ff86", + "sha256:2541fdb7467ef9bfad1f55b6c52e8ea52b3ce4a0027d37aff094190a955daa9d", + "sha256:3231100edee292da78948fa0a77dee4e5a94a0a60bcba9ed7a9dc77f4d4bb11e", + "sha256:344a5093b71c1b370968d0fbd14d55c9413cb6f0355fdefeb4a322d602d21776", + "sha256:37724c634f93e5caaca04458f267836eb9505d897ab3947b52f33b191bf344f3", + "sha256:3844305bc33d52c4975da07f75b480e17af3558c0d13085eaa6cc2f32882ccf7", + "sha256:390f4a8ca61d90bcf806c3ad644e05fa5890f5b9a72abdd4ca8430cdc1e386fa", + "sha256:3a4480e348000d89cf501b5606415f4d328484bbb431146c2971123d49fd8430", + "sha256:3b652579c21af73879d99c8072c31476788c8c26b5565687fd9db154070d852a", + "sha256:3e0902c278243d6f7223ba3e6c5738614c971fd9a887fff8feaa8dcf7249c8d4", + "sha256:412e58997a30c5deb8cab5858b8e2e5b40ca007079f7010ee74565cc13d19665", + "sha256:44cdb4e544134f305b033ad79ae5c6b9a32e7c58b46d9f55a64e2a883fbbba01", + "sha256:46133bc7dd45c9953e6ee4852e3de3d5a9a4a03b068bd238935a5c72f0a1ce34", + "sha256:46e89f58e4bed107626edce1cf098da3664a336d01fc78fddcfb1f397f553d44", + "sha256:4710806eb75e87919b858af0cba4ffedc01b463edc3982ded7b55143f39e41e1", + "sha256:476c8033abed7b1fd8db62a7600bf18501ce701c1a71179e4ce04ac92c1c5c3c", + "sha256:48600a6e0032bed17c20319d91775f1797d39953ccfd68c27f83c8d7fc3b32cb", + "sha256:4d3025e7e9ddb48813aec2974e1a7e68e63eac911dd5e0a9568775de107ac79a", + "sha256:547ea86ca408a6735335c881a2e6208851027f5bfd678d8f2c92a0f02c7e7330", + "sha256:54fca2b26bcd1c403146fd9461d1da76199442297160721b1d63def2a1b17799", + "sha256:5673d27806085d2a413b3be5f85fad6fca4b7ffd31cfe510bbe65eea52fff571", + "sha256:58ee5e24d6863b22194020eb62673cf8cc69945fcad6b283919490f6e359f7c5", + "sha256:5ca922c61d87b4c38f37aa706520328ffe22d7ac1553ef1cadc73f053a673553", + "sha256:5db86bb82034e055257c8e45228ca3dbce85e38d7bfa84fa7b2838e032a3219c", + "sha256:6277f60848a7d8319d27d2be767a7546bc965535b28070e310b3a9af90604a4c", + "sha256:6424d8229ba62e5dbbc377908cfee9b2edf25abd63b855c21f12ac596cd18e41", + "sha256:65dafe413b15e8895ad42e49210b74a955c9ae65564952b0243a18fb35b986cc", + "sha256:66389b6b6ee46a94a493a933a26008a1bae0cfadeca176933e7ff6556c0ce998", + "sha256:66d780047c31ff316ee305c3f7550f352d87257c756413632303fc59fef19eac", + "sha256:69a8b10a4f81548bc1e06ded0c4a6c9042c0be0d947c53c1ed89703f7e613950", + "sha256:6a561320485017ddfc21bd2ed5de2d70184f754f1c9b1947c55f8e2b0163a268", + "sha256:6aa7ca03f25b23b01629b1c7f78e1cd826a66bfb8809f8977a3635be2ec48f1a", + "sha256:6b79642a599740603ca86cf9df54f57a2013c47e1dd4dd2ae4769af0a6816900", + "sha256:6e7c70f19405e5f99168077b785fe15fcb5f9b3c0b70b0b5c2757ce294922c8c", + "sha256:70128fb92932524c89f373e17221cf9535d7d0c63794955cc3cd5868e19f5d38", + "sha256:73d0904c2471f317386d4ae5c665b16b5c50ab4f3ee7fd3d3b7651e564ad74b1", + "sha256:74bf802debe68627227ddb665c067eb8c73aa68b2476369237adf55c1161b728", + "sha256:79c748aa61fd8098d0472e776743de20fae2686edb80a24f0f6593a77f74fe86", + "sha256:79d46e7e33c3a4ef853a1307b2032cfb7220e1a079d0c65488fbd7118f44935a", + "sha256:7e78d79b10aa92f40f54178ada2b635c960d24fc6141856b926d82f67e56d169", + "sha256:8090e75653ea7db75bc21fa5f7bcf5f7bdf64ea258cbbac45c7065f6324f1b50", + "sha256:87b190e6ceec286219bd6b6f13547ca433f977d4600b4e81739e9ac23b5b9ba9", + "sha256:889328873c35cb0b2b4c83cbb83ec52efee5a05e75002e2c0c46c4e42790e83c", + "sha256:8f8d179393e6f0cf6c7c950576892ea6acbcea0a320838c61968ac7046f59228", + "sha256:919bc5aa4d8094cf8f1371ea9119e5d952f741dc4162810ab714aec948a23fe5", + "sha256:926957b278de22797bfc2f004b15297013843b595b3cd7ecd9e37ccb5fad0b72", + "sha256:93f5ac30607157a0b2579af59a065bcfaa7fadeb4875bf927a8f8b6739c8d910", + "sha256:96ade243fb6f3b57e7bd3b71e90c190cd0f93ec5dce6bf38734a73a2e5fa274f", + "sha256:9f14ecca970d825df0d29d5c6736ff27999ee7bdf5510e807f7ad8845f7760ce", + "sha256:a755f7bfc8adcb94887710dc70cc12a69a454120c6adcc6f251c3f7b46ee6aac", + "sha256:a79b439a6a77649bb8e2f2644e6c9cc0adb720fc55bed63546edea86e1d5c6c8", + "sha256:aa9d614a612ad02492f704fbac636f666fa89295a5d22b4facf2d665fc3b5ea9", + "sha256:ad071cd84a636195f35fa71de2186d717db775f94f985232775794d09f8d9061", + "sha256:b0e9a5e66969f7a47dc500e3dba8edc3b45d4eb31efb855c8647700a3493dd8a", + "sha256:b438e5eaa474365f4faaeeef1ec3e8d5b4e7030706e3e3d6b5bee6049732e0e6", + "sha256:b46aaf0332a8a9c965310058cf3487d705bf672641d2c43a835625b326689cf4", + "sha256:c39fa911e4302eb79c804b221ddec775c3da08833c0a9120041dd322789824de", + "sha256:ca56a6c8c8236d6fe19abb67ef08d76f3c3f46712c49a3b6a5352b6e43e8855f", + "sha256:cb502cde018e93e75dc8fc7bb2d93477ce4f3ac10369f48866c61b5e031db1fd", + "sha256:cd4d50a27b065447c9c399f0bf0a993bd0e6308db8bbbfbc3ea03b41c145775a", + "sha256:d125e754d26c0298715bdc3f8a03a0658ecbe72330be247f4b328d229d8cf67f", + "sha256:d300773b93eed82f6da138fd1d081dc96fbe53d96000a85e41460fe07c8d8b33", + "sha256:d396b610e77b0c438846607cd56418bfc194973b9886550a98fd6724e8c6cfec", + "sha256:d61482b5d18181e6bb4810b4a6a24c63a490c3a20e9fbd7876639653e2b30a1a", + "sha256:d9f2c27f18a0b94107d57294aab3d06d6046ea843ed4a45cae8bd45756749f3a", + "sha256:dc2b3f06430cbd4fac0dae5b2974d2bf14f71b415fb6de017f498950da8159b1", + "sha256:dc935d8322ba9bc7b84f99f40f111809b0473df167bf5b93b89fb719d2c4892b", + "sha256:e333c5b62e93949f5ac27e6758ba53ef6ee4f93e36cc977fe2e3df85c02f6dc4", + "sha256:e765b1f47293dedf77946f0427e03ee45def2862edacd8868c6cf9ab97c8afbd", + "sha256:ed18728b90758d171f0c66c475c24a443ede815cf3f1a91e907b0db0ebc6e508", + "sha256:eff87c68058374e45225089e4538c26329a13499bc0104b52b77f8428eed36b2", + "sha256:f05d05d99fce5537d8f7a0af6417a9afa9af3a6c4bb1ba7359c53b6257625fcb", + "sha256:f253edf694ce836631b350d758d00a8c4011243d58318fbfbe0dd54a6a839ab4", + "sha256:f41915a4e1f059dfad614b187bc06021fefb5fc5255bfe63abf8247d2f7a646a", + "sha256:f96def94576f857abf58e031ce881b5a3fc25cbec64b2bc4824824a8a4367af9" ], "index": "pypi", - "version": "==3.18.3" + "markers": "python_version >= '2.5' and python_version not in '3.0, 3.1, 3.2'", + "version": "==3.19.1" }, "six": { "hashes": [ "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "index": "pypi", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", "version": "==1.16.0" }, "twine": { @@ -487,23 +494,25 @@ "sha256:9e102ef5fdd5a20661eb88fad46338806c3bd32cf1db729603fe3697b1bc83c8" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==4.0.2" }, "typing-extensions": { "hashes": [ - "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb", - "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4" + "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36", + "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2" ], "markers": "python_version < '3.9'", - "version": "==4.5.0" + "version": "==4.7.1" }, "urllib3": { "hashes": [ - "sha256:076907bf8fd355cde77728471316625a4d2f7e713c125f51953bb5b3eecf4f72", - "sha256:75edcdc2f7d85b137124a6c3c9fc3933cdeaa12ecb9a6a959f22797a0feca7e1" + "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11", + "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4" ], "index": "pypi", - "version": "==1.26.14" + "markers": "python_version >= '3.7'", + "version": "==2.0.4" }, "webencodings": { "hashes": [ @@ -514,11 +523,11 @@ }, "zipp": { "hashes": [ - "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b", - "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556" + "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0", + "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147" ], - "markers": "python_version >= '3.7'", - "version": "==3.15.0" + "markers": "python_version >= '3.8'", + "version": "==3.16.2" } }, "develop": {} diff --git a/README.md b/README.md index 261c7fc..ea09ef7 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ python-quickbooks [![Python package](https://github.com/ej2/python-quickbooks/actions/workflows/python-package.yml/badge.svg)](https://github.com/ej2/python-quickbooks/actions/workflows/python-package.yml) [![Coverage Status](https://coveralls.io/repos/github/ej2/python-quickbooks/badge.svg?branch=master)](https://coveralls.io/github/ej2/python-quickbooks?branch=master) [![](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/ej2/python-quickbooks/blob/master/LICENSE) +[![PyPI](https://img.shields.io/pypi/v/python-quickbooks)](https://pypi.org/project/python-quickbooks/) A Python 3 library for accessing the Quickbooks API. Complete rework of [quickbooks-python](https://github.com/troolee/quickbooks-python). @@ -14,6 +15,13 @@ You can find additional examples of usage in [Integration tests folder](https:// For information about contributing, see the [Contributing Page](https://github.com/ej2/python-quickbooks/blob/master/contributing.md). +Installation +------------ + +```bash +pip install python-quickbooks +``` + QuickBooks OAuth ------------------------------------------------ diff --git a/dev_requirements.txt b/dev_requirements.txt index 2becb71..74c3c14 100644 --- a/dev_requirements.txt +++ b/dev_requirements.txt @@ -1,4 +1,4 @@ -coverage==6.4.2 -ipdb==0.13.9 -mock==2.0.0 +coverage==7.3.0 +ipdb==0.13.13 +mock==5.1.0 nose==1.3.7 \ No newline at end of file diff --git a/quickbooks/mixins.py b/quickbooks/mixins.py index c22ef30..9b51a42 100644 --- a/quickbooks/mixins.py +++ b/quickbooks/mixins.py @@ -1,9 +1,8 @@ -from future.moves.urllib.parse import quote +from urllib.parse import quote try: import simplejson as json except ImportError: import json -import six from .utils import build_where_clause, build_choose_clause from .client import QuickBooks from .exceptions import QuickbooksException @@ -70,14 +69,9 @@ def to_dict(obj, classkey=None): elif hasattr(obj, "__iter__") and not isinstance(obj, str): return [to_dict(v, classkey) for v in obj] elif hasattr(obj, "__dict__"): - if six.PY2: - data = dict([(key, to_dict(value, classkey)) - for key, value in obj.__dict__.iteritems() - if not callable(value) and not key.startswith('_')]) - else: - data = dict([(key, to_dict(value, classkey)) - for key, value in obj.__dict__.items() - if not callable(value) and not key.startswith('_')]) + data = dict([(key, to_dict(value, classkey)) + for key, value in obj.__dict__.items() + if not callable(value) and not key.startswith('_')]) if classkey is not None and hasattr(obj, "__class__"): data[classkey] = obj.__class__.__name__ diff --git a/quickbooks/objects/account.py b/quickbooks/objects/account.py index 5f30eb2..1c7f7e9 100644 --- a/quickbooks/objects/account.py +++ b/quickbooks/objects/account.py @@ -1,8 +1,6 @@ -from six import python_2_unicode_compatible from .base import Ref, QuickbooksManagedObject, QuickbooksTransactionEntity -@python_2_unicode_compatible class Account(QuickbooksManagedObject, QuickbooksTransactionEntity): """ QBO definition: Account is a component of a Chart Of Accounts, and is part of a Ledger. Used to record a total diff --git a/quickbooks/objects/attachable.py b/quickbooks/objects/attachable.py index a45625c..e7d23d0 100644 --- a/quickbooks/objects/attachable.py +++ b/quickbooks/objects/attachable.py @@ -1,10 +1,8 @@ -from six import python_2_unicode_compatible from .base import Ref, QuickbooksManagedObject, QuickbooksTransactionEntity, AttachableRef from ..client import QuickBooks from ..mixins import DeleteMixin -@python_2_unicode_compatible class Attachable(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity): """ QBO definition: This page covers the Attachable, Upload, and Download resources used for attachment management. Attachments are supplemental information linked to a transaction or Item object. They can be files, notes, or a combination of both. diff --git a/quickbooks/objects/base.py b/quickbooks/objects/base.py index 11c6dd5..c6b1afd 100644 --- a/quickbooks/objects/base.py +++ b/quickbooks/objects/base.py @@ -1,4 +1,3 @@ -from six import python_2_unicode_compatible from ..mixins import ToDictMixin, ToJsonMixin, FromJsonMixin, ListMixin, ReadMixin, UpdateMixin @@ -24,7 +23,6 @@ class QuickbooksReadOnlyObject(QuickbooksBaseObject, ReadMixin, ListMixin): pass -@python_2_unicode_compatible class MetaData(FromJsonMixin): def __init__(self): self.CreateTime = "" @@ -44,7 +42,6 @@ def to_linked_txn(self): return linked_txn -@python_2_unicode_compatible class Address(QuickbooksBaseObject): def __init__(self): self.Id = None @@ -65,7 +62,6 @@ def __str__(self): return "{0} {1}, {2} {3}".format(self.Line1, self.City, self.CountrySubDivisionCode, self.PostalCode) -@python_2_unicode_compatible class PhoneNumber(ToJsonMixin, FromJsonMixin, ToDictMixin): def __init__(self): self.FreeFormNumber = "" @@ -74,7 +70,6 @@ def __str__(self): return self.FreeFormNumber -@python_2_unicode_compatible class EmailAddress(QuickbooksBaseObject): def __init__(self): self.Address = "" @@ -83,7 +78,6 @@ def __str__(self): return self.Address -@python_2_unicode_compatible class WebAddress(QuickbooksBaseObject): def __init__(self): self.URI = "" @@ -92,7 +86,6 @@ def __str__(self): return self.URI -@python_2_unicode_compatible class Ref(QuickbooksBaseObject): def __init__(self): self.value = "" @@ -103,7 +96,6 @@ def __str__(self): return self.name -@python_2_unicode_compatible class CustomField(QuickbooksBaseObject): def __init__(self): self.DefinitionId = "" @@ -115,7 +107,6 @@ def __str__(self): return self.Name -@python_2_unicode_compatible class LinkedTxn(QuickbooksBaseObject): qbo_object_name = "LinkedTxn" @@ -129,7 +120,6 @@ def __str__(self): return str(self.TxnId) -@python_2_unicode_compatible class CustomerMemo(QuickbooksBaseObject): def __init__(self): super(CustomerMemo, self).__init__() diff --git a/quickbooks/objects/batchrequest.py b/quickbooks/objects/batchrequest.py index 520419b..2f7aecb 100644 --- a/quickbooks/objects/batchrequest.py +++ b/quickbooks/objects/batchrequest.py @@ -1,4 +1,3 @@ -from six import python_2_unicode_compatible from ..mixins import ToJsonMixin, FromJsonMixin @@ -8,7 +7,6 @@ class BatchOperation(object): DELETE = "delete" -@python_2_unicode_compatible class FaultError(FromJsonMixin): qbo_object_name = "Error" diff --git a/quickbooks/objects/bill.py b/quickbooks/objects/bill.py index 013ac92..834da6a 100644 --- a/quickbooks/objects/bill.py +++ b/quickbooks/objects/bill.py @@ -1,5 +1,3 @@ -from six import python_2_unicode_compatible - from quickbooks.objects.detailline import DetailLine, ItemBasedExpenseLine, AccountBasedExpenseLine, \ TDSLine from .base import Ref, LinkedTxn, QuickbooksManagedObject, QuickbooksTransactionEntity, \ @@ -8,7 +6,6 @@ from ..mixins import DeleteMixin -@python_2_unicode_compatible class Bill(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin): """ QBO definition: A Bill entity is an AP transaction representing a request-for-payment from a third party for @@ -79,4 +76,3 @@ def to_ref(self): ref.value = self.Id return ref - diff --git a/quickbooks/objects/billpayment.py b/quickbooks/objects/billpayment.py index 6fd1e46..3f175d9 100644 --- a/quickbooks/objects/billpayment.py +++ b/quickbooks/objects/billpayment.py @@ -1,10 +1,8 @@ -from six import python_2_unicode_compatible from .base import QuickbooksBaseObject, Ref, LinkedTxn, QuickbooksManagedObject, LinkedTxnMixin, \ QuickbooksTransactionEntity from ..mixins import DeleteMixin -@python_2_unicode_compatible class CheckPayment(QuickbooksBaseObject): class_dict = { "BankAccountRef": Ref @@ -33,7 +31,6 @@ def __init__(self): self.CCAccountRef = None -@python_2_unicode_compatible class BillPaymentLine(QuickbooksBaseObject): list_dict = { "LinkedTxn": LinkedTxn @@ -50,7 +47,6 @@ def __str__(self): return str(self.Amount) -@python_2_unicode_compatible class BillPayment(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin): """ QBO definition: A BillPayment entity represents the financial transaction of payment diff --git a/quickbooks/objects/budget.py b/quickbooks/objects/budget.py index 17cc6a5..442bd84 100644 --- a/quickbooks/objects/budget.py +++ b/quickbooks/objects/budget.py @@ -1,9 +1,7 @@ -from six import python_2_unicode_compatible from .base import QuickbooksBaseObject, Ref, QuickbooksTransactionEntity, \ QuickbooksReadOnlyObject -@python_2_unicode_compatible class BudgetDetail(QuickbooksBaseObject): class_dict = { "AccountRef": Ref, @@ -26,7 +24,6 @@ def __str__(self): return str(self.Amount) -@python_2_unicode_compatible class Budget(QuickbooksReadOnlyObject, QuickbooksTransactionEntity): """ QBO definition: The Budget endpoint allows you to retrieve the current state of budgets already set up in the user's @@ -56,4 +53,3 @@ def __init__(self): def __str__(self): return self.Name - diff --git a/quickbooks/objects/changedatacapture.py b/quickbooks/objects/changedatacapture.py index ee628da..d11a527 100644 --- a/quickbooks/objects/changedatacapture.py +++ b/quickbooks/objects/changedatacapture.py @@ -2,14 +2,14 @@ class CDCResponse(FromJsonMixin): - qbo_object_name = "CDCResponse" + qbo_object_name = "CDCResponse" - def __init__(self): - super(CDCResponse, self).__init__() + def __init__(self): + super(CDCResponse, self).__init__() class QueryResponse(FromJsonMixin, ObjectListMixin): - qbo_object_name = "QueryResponse" + qbo_object_name = "QueryResponse" - def __init__(self): - super(QueryResponse, self).__init__() + def __init__(self): + super(QueryResponse, self).__init__() diff --git a/quickbooks/objects/company_info.py b/quickbooks/objects/company_info.py index 2319431..87ddb60 100644 --- a/quickbooks/objects/company_info.py +++ b/quickbooks/objects/company_info.py @@ -1,9 +1,7 @@ -from six import python_2_unicode_compatible from .base import Address, PhoneNumber, EmailAddress, WebAddress, \ QuickbooksManagedObject, Ref, MetaData -@python_2_unicode_compatible class CompanyInfo(QuickbooksManagedObject): """ QBO definition: The CompanyInfo entity contains basic company information. diff --git a/quickbooks/objects/companycurrency.py b/quickbooks/objects/companycurrency.py index 90d0ff6..b4f788e 100644 --- a/quickbooks/objects/companycurrency.py +++ b/quickbooks/objects/companycurrency.py @@ -1,8 +1,6 @@ -from six import python_2_unicode_compatible from .base import QuickbooksManagedObject, QuickbooksTransactionEntity, Ref, CustomField, MetaData -@python_2_unicode_compatible class CompanyCurrency(QuickbooksManagedObject, QuickbooksTransactionEntity): """ QBO definition: Applicable only for those companies that enable multicurrency, a companycurrency object diff --git a/quickbooks/objects/creditcardpayment_entity.py b/quickbooks/objects/creditcardpayment_entity.py index 7d62ded..9b4b287 100644 --- a/quickbooks/objects/creditcardpayment_entity.py +++ b/quickbooks/objects/creditcardpayment_entity.py @@ -1,9 +1,7 @@ -from six import python_2_unicode_compatible from .base import Ref, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin, MetaData from ..mixins import DeleteMixin -@python_2_unicode_compatible class CreditCardPayment(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin): """ QBO definition: A Represents a financial transaction to record a Credit Card balance payment diff --git a/quickbooks/objects/creditmemo.py b/quickbooks/objects/creditmemo.py index a92e7f0..9cfcc87 100644 --- a/quickbooks/objects/creditmemo.py +++ b/quickbooks/objects/creditmemo.py @@ -1,5 +1,3 @@ -from six import python_2_unicode_compatible - from quickbooks.objects.detailline import SalesItemLine, SubtotalLine, DiscountLine, DescriptionOnlyLine, DetailLine from .base import Address, EmailAddress, Ref, CustomField, CustomerMemo, QuickbooksManagedObject, \ LinkedTxnMixin, QuickbooksTransactionEntity @@ -7,7 +5,6 @@ from ..mixins import DeleteMixin -@python_2_unicode_compatible class CreditMemo(DeleteMixin, QuickbooksTransactionEntity, QuickbooksManagedObject, LinkedTxnMixin): """ QBO definition: The CreditMemo is a financial transaction representing a refund or credit of payment or part diff --git a/quickbooks/objects/customer.py b/quickbooks/objects/customer.py index f2e30d1..2bf0f19 100644 --- a/quickbooks/objects/customer.py +++ b/quickbooks/objects/customer.py @@ -1,9 +1,7 @@ -from six import python_2_unicode_compatible from .base import Address, PhoneNumber, EmailAddress, WebAddress, Ref, QuickbooksManagedObject, \ QuickbooksTransactionEntity -@python_2_unicode_compatible class Customer(QuickbooksManagedObject, QuickbooksTransactionEntity): """ QBO definition: A customer is a consumer of the service or product that your business offers. The Customer object diff --git a/quickbooks/objects/customertype.py b/quickbooks/objects/customertype.py index f45bcc2..af41b3a 100644 --- a/quickbooks/objects/customertype.py +++ b/quickbooks/objects/customertype.py @@ -1,9 +1,7 @@ -from six import python_2_unicode_compatible from .base import Address, PhoneNumber, EmailAddress, WebAddress, MetaData, QuickbooksReadOnlyObject, \ QuickbooksTransactionEntity -@python_2_unicode_compatible class CustomerType(QuickbooksReadOnlyObject, QuickbooksTransactionEntity): """ QBO definition: Customer types allow categorizing customers in ways that are meaningful to the business. diff --git a/quickbooks/objects/department.py b/quickbooks/objects/department.py index 60465f9..f81ce49 100644 --- a/quickbooks/objects/department.py +++ b/quickbooks/objects/department.py @@ -1,8 +1,6 @@ -from six import python_2_unicode_compatible from .base import QuickbooksManagedObject, QuickbooksTransactionEntity, Ref -@python_2_unicode_compatible class Department(QuickbooksManagedObject, QuickbooksTransactionEntity): """ QBO definition: The Department entity provides a way to track different segments of the business, divisions, or diff --git a/quickbooks/objects/deposit.py b/quickbooks/objects/deposit.py index 1b00a03..a8b0c54 100644 --- a/quickbooks/objects/deposit.py +++ b/quickbooks/objects/deposit.py @@ -1,4 +1,3 @@ -from six import python_2_unicode_compatible from .base import QuickbooksBaseObject, Ref, LinkedTxn, QuickbooksManagedObject, LinkedTxnMixin, \ QuickbooksTransactionEntity, CustomField, AttachableRef from ..mixins import DeleteMixin @@ -35,7 +34,6 @@ def __init__(self): self.PaymentMethodRef = None -@python_2_unicode_compatible class DepositLine(QuickbooksBaseObject): class_dict = { "DepositToAccountRef": Ref, @@ -63,7 +61,6 @@ def __str__(self): return str(self.Amount) -@python_2_unicode_compatible class Deposit(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin): """ QBO definition: A deposit object is a transaction that records one or more deposits of the following types: diff --git a/quickbooks/objects/detailline.py b/quickbooks/objects/detailline.py index c12b31e..eb6465c 100644 --- a/quickbooks/objects/detailline.py +++ b/quickbooks/objects/detailline.py @@ -1,8 +1,6 @@ -from six import python_2_unicode_compatible from .base import QuickbooksBaseObject, Ref, CustomField, LinkedTxn, MarkupInfo -@python_2_unicode_compatible class DetailLine(QuickbooksBaseObject): list_dict = { "LinkedTxn": LinkedTxn, @@ -100,7 +98,6 @@ def __init__(self): self.TaxCodeRef = None -@python_2_unicode_compatible class SalesItemLineDetail(QuickbooksBaseObject): class_dict = { "ItemRef": Ref, @@ -164,7 +161,6 @@ def __init__(self): self.DescriptionLineDetail = None -@python_2_unicode_compatible class AccountBasedExpenseLineDetail(QuickbooksBaseObject): class_dict = { "CustomerRef": Ref, @@ -184,6 +180,7 @@ def __init__(self): self.AccountRef = None self.TaxCodeRef = None self.ClassRef = None + self.MarkupInfo = None def __str__(self): return self.BillableStatus @@ -201,7 +198,6 @@ def __init__(self): self.AccountBasedExpenseLineDetail = None -@python_2_unicode_compatible class TDSLineDetail(QuickbooksBaseObject): def __init__(self): super(TDSLineDetail, self).__init__() diff --git a/quickbooks/objects/employee.py b/quickbooks/objects/employee.py index d9f49ad..8e1636f 100644 --- a/quickbooks/objects/employee.py +++ b/quickbooks/objects/employee.py @@ -1,8 +1,6 @@ -from six import python_2_unicode_compatible from .base import Address, PhoneNumber, QuickbooksManagedObject, QuickbooksTransactionEntity, Ref -@python_2_unicode_compatible class Employee(QuickbooksManagedObject, QuickbooksTransactionEntity): """ QBO definition: Employee represents the people who are working for the company. diff --git a/quickbooks/objects/estimate.py b/quickbooks/objects/estimate.py index 32bafa9..6a9d596 100644 --- a/quickbooks/objects/estimate.py +++ b/quickbooks/objects/estimate.py @@ -1,4 +1,3 @@ -from six import python_2_unicode_compatible from .base import CustomField, Ref, CustomerMemo, Address, EmailAddress, QuickbooksManagedObject, \ LinkedTxnMixin, QuickbooksTransactionEntity, LinkedTxn from .tax import TxnTaxDetail @@ -6,7 +5,6 @@ from ..mixins import QuickbooksPdfDownloadable, DeleteMixin, SendMixin -@python_2_unicode_compatible class Estimate(DeleteMixin, QuickbooksPdfDownloadable, QuickbooksManagedObject, diff --git a/quickbooks/objects/exchangerate.py b/quickbooks/objects/exchangerate.py index 15d6172..4168c9b 100644 --- a/quickbooks/objects/exchangerate.py +++ b/quickbooks/objects/exchangerate.py @@ -1,16 +1,12 @@ -from six import python_2_unicode_compatible - from quickbooks.mixins import ListMixin, UpdateNoIdMixin, FromJsonMixin from .base import CustomField, QuickbooksBaseObject -@python_2_unicode_compatible class ExchangeRateMetaData(FromJsonMixin): def __init__(self): self.LastUpdatedTime = "" -@python_2_unicode_compatible class ExchangeRate(QuickbooksBaseObject, ListMixin, UpdateNoIdMixin): """ QBO definition: Applicable only for those companies that enable multicurrency, diff --git a/quickbooks/objects/invoice.py b/quickbooks/objects/invoice.py index 166ba49..c3b923f 100644 --- a/quickbooks/objects/invoice.py +++ b/quickbooks/objects/invoice.py @@ -1,4 +1,3 @@ -from six import python_2_unicode_compatible from .base import QuickbooksBaseObject, Ref, CustomField, Address, EmailAddress, CustomerMemo, QuickbooksManagedObject, \ QuickbooksTransactionEntity, LinkedTxn, LinkedTxnMixin, MetaData from .tax import TxnTaxDetail @@ -13,7 +12,6 @@ def __init__(self): self.DeliveryTime = "" -@python_2_unicode_compatible class Invoice(DeleteMixin, QuickbooksPdfDownloadable, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin, SendMixin, VoidMixin): """ diff --git a/quickbooks/objects/item.py b/quickbooks/objects/item.py index 123b848..c8e6ad1 100644 --- a/quickbooks/objects/item.py +++ b/quickbooks/objects/item.py @@ -1,8 +1,6 @@ -from six import python_2_unicode_compatible from .base import Ref, QuickbooksManagedObject, QuickbooksTransactionEntity -@python_2_unicode_compatible class Item(QuickbooksManagedObject, QuickbooksTransactionEntity): """ QBO definition: An item is a thing that your company buys, sells, or re-sells, diff --git a/quickbooks/objects/journalentry.py b/quickbooks/objects/journalentry.py index 0380bfe..d1c5e9f 100644 --- a/quickbooks/objects/journalentry.py +++ b/quickbooks/objects/journalentry.py @@ -1,4 +1,3 @@ -from six import python_2_unicode_compatible from .base import QuickbooksBaseObject, Ref, QuickbooksManagedObject, QuickbooksTransactionEntity, \ LinkedTxnMixin from .tax import TxnTaxDetail @@ -51,7 +50,6 @@ def __init__(self): self.JournalEntryLineDetail = None -@python_2_unicode_compatible class JournalEntry(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin): """ QBO definition: Journal Entry is a transaction in which: @@ -83,7 +81,7 @@ def __init__(self): super(JournalEntry, self).__init__() self.Adjustment = False self.TxnDate = "" - #self.TxnSource = "" + # self.TxnSource = "" self.DocNumber = "" self.PrivateNote = "" self.TotalAmt = 0 diff --git a/quickbooks/objects/payment.py b/quickbooks/objects/payment.py index f82ce74..07e1522 100644 --- a/quickbooks/objects/payment.py +++ b/quickbooks/objects/payment.py @@ -1,4 +1,3 @@ -from six import python_2_unicode_compatible from .base import QuickbooksBaseObject, Ref, LinkedTxn, \ QuickbooksManagedObject, QuickbooksTransactionEntity, \ LinkedTxnMixin, MetaData @@ -8,7 +7,6 @@ import json -@python_2_unicode_compatible class PaymentLine(QuickbooksBaseObject): list_dict = { "LinkedTxn": LinkedTxn, @@ -23,7 +21,6 @@ def __str__(self): return str(self.Amount) -@python_2_unicode_compatible class Payment(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin): """ QBO definition: A Payment entity records a payment in QuickBooks. The payment can be diff --git a/quickbooks/objects/paymentmethod.py b/quickbooks/objects/paymentmethod.py index dd4da4c..e33089c 100644 --- a/quickbooks/objects/paymentmethod.py +++ b/quickbooks/objects/paymentmethod.py @@ -1,8 +1,6 @@ -from six import python_2_unicode_compatible from .base import QuickbooksManagedObject, QuickbooksTransactionEntity, Ref -@python_2_unicode_compatible class PaymentMethod(QuickbooksManagedObject, QuickbooksTransactionEntity): """ QBO definition: The PaymentMethod entity provides the method of payment for received goods. Delete is achieved by setting the @@ -31,4 +29,3 @@ def to_ref(self): ref.value = self.Id return ref - diff --git a/quickbooks/objects/preferences.py b/quickbooks/objects/preferences.py index d7e7e5b..49aa23c 100644 --- a/quickbooks/objects/preferences.py +++ b/quickbooks/objects/preferences.py @@ -1,10 +1,7 @@ -from six import python_2_unicode_compatible - from quickbooks.mixins import PrefMixin, UpdateNoIdMixin from .base import QuickbooksBaseObject, QuickbooksTransactionEntity, Ref, EmailAddress -@python_2_unicode_compatible class PreferencesCustomField(QuickbooksBaseObject): def __init__(self): self.Type = "" @@ -202,7 +199,6 @@ def __init__(self): self.MultiCurrencyEnabled = False -@python_2_unicode_compatible class Preferences(PrefMixin, UpdateNoIdMixin, QuickbooksTransactionEntity): """ QBO definition: The Preferences resource represents a set of company preferences that diff --git a/quickbooks/objects/purchase.py b/quickbooks/objects/purchase.py index 49264e2..62b2c72 100644 --- a/quickbooks/objects/purchase.py +++ b/quickbooks/objects/purchase.py @@ -1,5 +1,3 @@ -from six import python_2_unicode_compatible - from quickbooks.objects.detailline import DetailLine, AccountBasedExpenseLine, ItemBasedExpenseLine, \ TDSLine from .base import Ref, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin, \ @@ -8,7 +6,6 @@ from ..mixins import DeleteMixin -@python_2_unicode_compatible class Purchase(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin): """ QBO definition: This entity represents expenses, such as a purchase made from a vendor. diff --git a/quickbooks/objects/purchaseorder.py b/quickbooks/objects/purchaseorder.py index 6c6ac24..563391e 100644 --- a/quickbooks/objects/purchaseorder.py +++ b/quickbooks/objects/purchaseorder.py @@ -1,5 +1,3 @@ -from six import python_2_unicode_compatible - from quickbooks.objects.detailline import DetailLine, ItemBasedExpenseLine, AccountBasedExpenseLine, \ TDSLine from .base import Ref, Address, QuickbooksManagedObject, LinkedTxnMixin, \ @@ -8,7 +6,6 @@ from ..mixins import DeleteMixin, SendMixin -@python_2_unicode_compatible class PurchaseOrder(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin, SendMixin): """ QBO definition: The PurchaseOrder entity is a non-posting transaction representing a request to purchase diff --git a/quickbooks/objects/recurringtransaction.py b/quickbooks/objects/recurringtransaction.py index 0845d18..2bfb3fe 100644 --- a/quickbooks/objects/recurringtransaction.py +++ b/quickbooks/objects/recurringtransaction.py @@ -1,5 +1,3 @@ -from six import python_2_unicode_compatible - from .bill import Bill from .creditmemo import CreditMemo from .deposit import Deposit @@ -15,6 +13,7 @@ from .base import Ref, QuickbooksBaseObject from ..mixins import UpdateNoIdMixin, ListMixin, ReadMixin, DeleteNoIdMixin + class ScheduleInfo(QuickbooksBaseObject): def __init__(self): super(ScheduleInfo, self).__init__() @@ -23,20 +22,20 @@ def __init__(self): self.EndDate = None self.DaysBefore = None self.MaxOccurrences = None - + self.RemindDays = None self.IntervalType = None self.NumInterval = None - + self.DayOfMonth = None self.DayOfWeek = None self.MonthOfYear = None self.WeekOfMonth = None - + self.NextDate = None self.PreviousDate = None - + class RecurringInfo(QuickbooksBaseObject): class_dict = { "ScheduleInfo": ScheduleInfo @@ -52,7 +51,7 @@ def __init__(self): self.Active = False -class Recurring(): +class Recurring(): class_dict = { "RecurringInfo": RecurringInfo, "RecurDataRef": Ref @@ -107,7 +106,6 @@ class RecurringPurchaseOrder(PurchaseOrder): class_dict = {**PurchaseOrder.class_dict, **Recurring.class_dict} -@python_2_unicode_compatible class RecurringTransaction(QuickbooksBaseObject, ReadMixin, UpdateNoIdMixin, ListMixin, DeleteNoIdMixin): """ QBO definition: A RecurringTransaction object refers to scheduling creation of transactions, @@ -129,4 +127,4 @@ class RecurringTransaction(QuickbooksBaseObject, ReadMixin, UpdateNoIdMixin, Lis "PurchaseOrder": RecurringPurchaseOrder } - qbo_object_name = "RecurringTransaction" \ No newline at end of file + qbo_object_name = "RecurringTransaction" diff --git a/quickbooks/objects/refundreceipt.py b/quickbooks/objects/refundreceipt.py index ca45c65..fc56506 100644 --- a/quickbooks/objects/refundreceipt.py +++ b/quickbooks/objects/refundreceipt.py @@ -1,5 +1,3 @@ -from six import python_2_unicode_compatible - from quickbooks.objects import CreditCardPayment from .base import Ref, CustomField, QuickbooksManagedObject, \ LinkedTxnMixin, QuickbooksTransactionEntity, LinkedTxn, Address, EmailAddress, QuickbooksBaseObject, CustomerMemo @@ -8,7 +6,6 @@ from ..mixins import DeleteMixin -@python_2_unicode_compatible class RefundReceiptCheckPayment(QuickbooksBaseObject): qbo_object_name = "CheckPayment" @@ -24,7 +21,6 @@ def __str__(self): return self.CheckNum -@python_2_unicode_compatible class RefundReceipt(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin): """ QBO definition: RefundReceipt represents a refund to the customer for a product or service that was given. @@ -35,8 +31,8 @@ class RefundReceipt(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionE "TxnTaxDetail": TxnTaxDetail, "DepositToAccountRef": Ref, "CustomerRef": Ref, - "BillAddr": Address, - "ShipAddr": Address, + "BillAddr": Address, + "ShipAddr": Address, "ClassRef": Ref, "BillEmail": EmailAddress, "PaymentMethodRef": Ref, diff --git a/quickbooks/objects/salesreceipt.py b/quickbooks/objects/salesreceipt.py index 91ff18e..83b55a2 100644 --- a/quickbooks/objects/salesreceipt.py +++ b/quickbooks/objects/salesreceipt.py @@ -1,4 +1,3 @@ -from six import python_2_unicode_compatible from .base import Ref, CustomField, QuickbooksManagedObject, LinkedTxnMixin, Address, \ EmailAddress, QuickbooksTransactionEntity, LinkedTxn from .tax import TxnTaxDetail @@ -6,7 +5,6 @@ from ..mixins import QuickbooksPdfDownloadable, DeleteMixin -@python_2_unicode_compatible class SalesReceipt(DeleteMixin, QuickbooksPdfDownloadable, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin): """ diff --git a/quickbooks/objects/tax.py b/quickbooks/objects/tax.py index 295a789..aa51507 100644 --- a/quickbooks/objects/tax.py +++ b/quickbooks/objects/tax.py @@ -1,8 +1,6 @@ -from six import python_2_unicode_compatible from .base import QuickbooksBaseObject, Ref, QuickbooksManagedObject -@python_2_unicode_compatible class TaxLineDetail(QuickbooksBaseObject): class_dict = { "TaxRateRef": Ref @@ -18,7 +16,6 @@ def __str__(self): return str(self.TaxPercent) -@python_2_unicode_compatible class TaxLine(QuickbooksBaseObject): class_dict = { "TaxLineDetail": TaxLineDetail @@ -33,7 +30,6 @@ def __str__(self): return str(self.Amount) -@python_2_unicode_compatible class TxnTaxDetail(QuickbooksBaseObject): class_dict = { "TxnTaxCodeRef": Ref, diff --git a/quickbooks/objects/taxagency.py b/quickbooks/objects/taxagency.py index 85de9ad..171e1d4 100644 --- a/quickbooks/objects/taxagency.py +++ b/quickbooks/objects/taxagency.py @@ -1,8 +1,6 @@ -from six import python_2_unicode_compatible from .base import QuickbooksTransactionEntity, QuickbooksManagedObject -@python_2_unicode_compatible class TaxAgency(QuickbooksManagedObject, QuickbooksTransactionEntity): """ QBO definition: Tax Agency is an entity that is associated with a tax rate and identifies the agency to which that tax rate diff --git a/quickbooks/objects/taxcode.py b/quickbooks/objects/taxcode.py index 8943dff..aa720dc 100644 --- a/quickbooks/objects/taxcode.py +++ b/quickbooks/objects/taxcode.py @@ -1,4 +1,3 @@ -from six import python_2_unicode_compatible from quickbooks.mixins import ListMixin, ReadMixin from .base import QuickbooksTransactionEntity, Ref, QuickbooksBaseObject @@ -29,7 +28,6 @@ def __init__(self): self.TaxRateDetail = [] -@python_2_unicode_compatible class TaxCode(QuickbooksTransactionEntity, QuickbooksBaseObject, ReadMixin, ListMixin): """ QBO definition: A TaxCode object is used to track the taxable or non-taxable status of products, diff --git a/quickbooks/objects/taxrate.py b/quickbooks/objects/taxrate.py index d172919..af872f8 100644 --- a/quickbooks/objects/taxrate.py +++ b/quickbooks/objects/taxrate.py @@ -1,10 +1,7 @@ -from six import python_2_unicode_compatible - from quickbooks.mixins import ListMixin, ReadMixin from .base import QuickbooksTransactionEntity, Ref, QuickbooksBaseObject -@python_2_unicode_compatible class TaxRate(QuickbooksTransactionEntity, QuickbooksBaseObject, ReadMixin, ListMixin): """ QBO definition: A TaxRate object represents rate applied to calculate tax liability. Use the TaxService @@ -34,5 +31,3 @@ def __init__(self): def __str__(self): return self.Name - - diff --git a/quickbooks/objects/taxservice.py b/quickbooks/objects/taxservice.py index 84819b8..870d906 100644 --- a/quickbooks/objects/taxservice.py +++ b/quickbooks/objects/taxservice.py @@ -1,10 +1,8 @@ -from six import python_2_unicode_compatible from .base import QuickbooksBaseObject from ..mixins import UpdateMixin from ..client import QuickBooks -@python_2_unicode_compatible class TaxRateDetails(QuickbooksBaseObject): qbo_object_name = "TaxRateDetails" @@ -20,7 +18,6 @@ def __str__(self): return self.TaxRateName -@python_2_unicode_compatible class TaxService(QuickbooksBaseObject, UpdateMixin): """ QBO definition: The TaxService endpoint allows you to perform the following actions: diff --git a/quickbooks/objects/term.py b/quickbooks/objects/term.py index 26466eb..674ac98 100644 --- a/quickbooks/objects/term.py +++ b/quickbooks/objects/term.py @@ -1,8 +1,6 @@ -from six import python_2_unicode_compatible from .base import QuickbooksManagedObject, QuickbooksTransactionEntity, Ref -@python_2_unicode_compatible class Term(QuickbooksManagedObject, QuickbooksTransactionEntity): """ QBO definition: The Term entity represents the terms under which a sale is made, typically expressed in the @@ -38,4 +36,3 @@ def to_ref(self): ref.value = self.Id return ref - diff --git a/quickbooks/objects/timeactivity.py b/quickbooks/objects/timeactivity.py index 132471e..feea888 100644 --- a/quickbooks/objects/timeactivity.py +++ b/quickbooks/objects/timeactivity.py @@ -1,9 +1,7 @@ -from six import python_2_unicode_compatible from .base import Ref, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin, AttachableRef from ..mixins import DeleteMixin -@python_2_unicode_compatible class TimeActivity(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin): """ QBO definition: The TimeActivity entity represents a record of time worked by a vendor or employee. diff --git a/quickbooks/objects/trackingclass.py b/quickbooks/objects/trackingclass.py index cd47cd7..da084bd 100644 --- a/quickbooks/objects/trackingclass.py +++ b/quickbooks/objects/trackingclass.py @@ -1,8 +1,6 @@ -from six import python_2_unicode_compatible from .base import QuickbooksManagedObject, QuickbooksTransactionEntity, Ref -@python_2_unicode_compatible class Class(QuickbooksManagedObject, QuickbooksTransactionEntity): """ QBO definition: Classes provide a way to track different segments of the business so they're diff --git a/quickbooks/objects/transfer.py b/quickbooks/objects/transfer.py index 42a593e..d495435 100644 --- a/quickbooks/objects/transfer.py +++ b/quickbooks/objects/transfer.py @@ -1,9 +1,7 @@ -from six import python_2_unicode_compatible from .base import Ref, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin from ..mixins import DeleteMixin -@python_2_unicode_compatible class Transfer(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin): """ QBO definition: A Transfer represents a transaction where funds are moved between two accounts from the diff --git a/quickbooks/objects/vendor.py b/quickbooks/objects/vendor.py index a0e2f9e..fa860c9 100644 --- a/quickbooks/objects/vendor.py +++ b/quickbooks/objects/vendor.py @@ -1,4 +1,3 @@ -from six import python_2_unicode_compatible from .base import Address, PhoneNumber, EmailAddress, WebAddress, Ref, QuickbooksBaseObject, \ QuickbooksManagedObject, QuickbooksTransactionEntity @@ -15,7 +14,6 @@ def __init__(self): self.Telephone = None -@python_2_unicode_compatible class Vendor(QuickbooksManagedObject, QuickbooksTransactionEntity): """ QBO definition: The Vendor represents the seller from whom your company purchases any service or product. diff --git a/quickbooks/objects/vendorcredit.py b/quickbooks/objects/vendorcredit.py index 53d8abd..3f57d50 100644 --- a/quickbooks/objects/vendorcredit.py +++ b/quickbooks/objects/vendorcredit.py @@ -1,12 +1,9 @@ -from six import python_2_unicode_compatible - from .base import Ref, QuickbooksManagedObject, QuickbooksTransactionEntity, \ LinkedTxnMixin from .detailline import DetailLine, AccountBasedExpenseLine, ItemBasedExpenseLine, TDSLine from ..mixins import DeleteMixin -@python_2_unicode_compatible class VendorCredit(DeleteMixin, QuickbooksManagedObject, QuickbooksTransactionEntity, LinkedTxnMixin): """ QBO definition: The Vendor Credit entity is an accounts payable transaction that represents a refund or credit @@ -47,4 +44,4 @@ def __init__(self): self.Line = [] def __str__(self): - return str(self.TotalAmt) \ No newline at end of file + return str(self.TotalAmt) diff --git a/quickbooks/utils.py b/quickbooks/utils.py index 91f39d8..5387e95 100644 --- a/quickbooks/utils.py +++ b/quickbooks/utils.py @@ -1,7 +1,3 @@ -import six -import sys - - def build_where_clause(**kwargs): where_clause = "" @@ -9,11 +5,7 @@ def build_where_clause(**kwargs): where = [] for key, value in kwargs.items(): - if isinstance(value, six.text_type) and sys.version_info[0] == 2: - # If using python 2, encode unicode as string. - encoded_value = value.encode('utf-8') - where.append("{0} = '{1}'".format(key, encoded_value.replace(r"'", r"\'"))) - elif isinstance(value, six.string_types): + if isinstance(value, str): where.append("{0} = '{1}'".format(key, value.replace(r"'", r"\'"))) else: where.append("{0} = {1}".format(key, value)) @@ -30,11 +22,7 @@ def build_choose_clause(choices, field): where = [] for choice in choices: - if isinstance(choice, six.text_type) and sys.version_info[0] == 2: - # If using python 2, encode unicode as string. - encoded_choice = choice.encode('utf-8') - where.append("'{0}'".format(encoded_choice.replace(r"'", r"\'"))) - elif isinstance(choice, six.string_types): + if isinstance(choice, str): where.append("'{0}'".format(choice.replace(r"'", r"\'"))) else: where.append("{0}".format(choice)) diff --git a/requirements.txt b/requirements.txt index 9c49b1c..e22107a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ intuit-oauth==1.2.4 rauth>=0.7.3 -requests>=2.26.0 -simplejson>=3.17.0 -six>=1.14.0 +requests>=2.31.0 +simplejson>=3.19.1 \ No newline at end of file diff --git a/setup.py b/setup.py index a52279b..665978c 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ def read(*parts): return fp.read() -VERSION = (0, 9, 3) +VERSION = (0, 9, 4) version = '.'.join(map(str, VERSION)) setup( @@ -33,9 +33,8 @@ def read(*parts): 'setuptools', 'intuit-oauth==1.2.4', 'rauth>=0.7.3', - 'requests>=2.26.0', - 'simplejson>=3.17.0', - 'six>=1.14.0', + 'requests>=2.31.0', + 'simplejson>=3.19.1', 'python-dateutil', ], @@ -52,5 +51,5 @@ def read(*parts): 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', ], - packages=find_packages(), + packages=find_packages(exclude=("tests",)), ) diff --git a/tests/unit/test_mixins.py b/tests/unit/test_mixins.py index 613543a..c3ff3ed 100644 --- a/tests/unit/test_mixins.py +++ b/tests/unit/test_mixins.py @@ -2,7 +2,7 @@ import os import unittest -from future.moves.urllib.parse import quote +from urllib.parse import quote from quickbooks.objects import Bill, Invoice