A small package to do some finoptim optimisations
Project description
FinOps package
The best python package to help you optimise your cloud spendings
import finoptim as fp
import pandas as pd
past_usage = pd.DataFrame(...)
guid_to_price = fp.cloud.load_aws_prices(as_dict=True)
prices = np.array(past_usqge.index.map(guid_to_price))
usage = fp.normalize(past_usage)
res = fp.optimise_past(usage, prices)
predictions = pd.DataFrame(...) # some SQL query
current_reservations = pd.DataFrame(...) # some SQL query
normalize_reservations = fp.normalize(current_reservations)
res = fp.optimise_past(predictions, prices)
TODO
- possibility to precise the period of the data in case it is not inferred correctly
- " call PyErr at suitable intervals inside your Rust function, and check the returned value. If it was -1, immediately return from your Rust function;"
- compute the better step size to avoid waiting too long
- coverage must folow the same inputs as cost
- allow for long DataFrame as input
- the cost function should return a gradient when evaluated (save some compute)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
finoptim-0.0.2.tar.gz
(17.1 kB
view hashes)
Built Distributions
finoptim-0.0.2-cp311-none-win32.whl
(335.0 kB
view hashes)
finoptim-0.0.2-cp310-none-win32.whl
(335.0 kB
view hashes)
Close
Hashes for finoptim-0.0.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca7971c35f7bf2cfbe8baa2477861f5026c81b247a389d1db2d3be34318897e2 |
|
MD5 | 2515c6eecb45e82728ecd83b44a62e3b |
|
BLAKE2b-256 | 9fd8885ea3d4a73862908ed62c6c8219f428b0941ee78d03cdf84af53362a7f6 |
Close
Hashes for finoptim-0.0.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc1072bb099dc95da69e2820d1f2b41bd8b44c5d50a07d843320e3919d185f79 |
|
MD5 | 9d13eb8771f3fd49e25d90415fd5541f |
|
BLAKE2b-256 | f081d7f014c20dfcb115f125e456b84f547925cbd073cb038ebbbff114845884 |
Close
Hashes for finoptim-0.0.2-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05e93fbc06b996b7ed60993a0c140874e8173f97c3811ea9e9a2d2e13f48335f |
|
MD5 | e90404795eb3b60e0e475c2c2e739839 |
|
BLAKE2b-256 | 9a6ef1688d58993d64fbc499039544c023a99a6cacbfcbf5ab43cc8b25031a80 |
Close
Hashes for finoptim-0.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32b8641c4c001c091ab084ccc95ad5104cb67db5e2b093981b6a5fd3b1244415 |
|
MD5 | 5cb7e5b786a6d2f43a194e1c960ae51b |
|
BLAKE2b-256 | d1eb646ddd6f40ca520f1c9162488335ed42f4c63896d2e3783f76c64a6ba87c |
Close
Hashes for finoptim-0.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7179a109e395eb86f3afbdd77a74c60bb58bbab683cd982b1e3149f90e9d0d6 |
|
MD5 | 0ee07665d4efca6709f04b8e6775601b |
|
BLAKE2b-256 | e4d2cf7b3f36afe8a8a8d8a06d14b16578de823cd9c2bec947954c1ed8147794 |
Close
Hashes for finoptim-0.0.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c84eb9eb39ec1598d8ec03a55aa7652ceca0a3c59590e25bb011594038d966b9 |
|
MD5 | 1d14d1dea3a1a79a096b133e21a75a2e |
|
BLAKE2b-256 | cce49c335a1be4327c233ecde003c7deb898460155cb880efc5f777c436fbbd8 |
Close
Hashes for finoptim-0.0.2-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b82992546c61a1c227d69ef7b52dfc1f3244fb0ba05efd70f28fd393f5659c5 |
|
MD5 | 6b44a18bb032313e7ba71261a85884f3 |
|
BLAKE2b-256 | 254f3858dc77768eccf8b632985ca9c8dfa1857f6190de47bd5bc4b03bc07e99 |
Close
Hashes for finoptim-0.0.2-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55bdf6617e16235449d017159caf49226b36bc1b0cbf3253f5871cefb0d84e7f |
|
MD5 | 69b716a773c85d73e3f18348f532d5ab |
|
BLAKE2b-256 | c79bf98a390d76bfa1c25d9362f48fb055bf959c211885863ab7180e1c81235e |
Close
Hashes for finoptim-0.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a58a3806fdb19663ad4c80680599078e2229b24d465d6ee566a8405696f6b43 |
|
MD5 | 17d6f92ea53a8fde79225867cd8f3997 |
|
BLAKE2b-256 | 3b7f7dd29a14780255bc7350a6d1a8ca9617ceb453a71cba7fd2bb4accb7cc8e |
Close
Hashes for finoptim-0.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c2ee03e130bd0086e090b10f12d08b700a198c9a7b8f849596ccdf7e39c6e23 |
|
MD5 | d61f436e626deadc755cd339888d2f49 |
|
BLAKE2b-256 | 18ba79f71427d4680385a69a41a1217f639a8836b97f6bf90580ec811bf19a4c |
Close
Hashes for finoptim-0.0.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25ac84e6a4f7391fd4d8ebd78e57e13add5c2140cdae86a7180685b021093174 |
|
MD5 | e7248297643995542bea6af30c83b050 |
|
BLAKE2b-256 | 16dcae43352dfb8a67bf9d11d79954c9ba65f8f4184f529deafab97b8e677f9b |
Close
Hashes for finoptim-0.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bebfe3d671a79a51660d9aba2b55a5f369cc30a55f2ab26f701db89937b26c3a |
|
MD5 | bcd0dc22cc0bd387ae01a4dbcc2054bf |
|
BLAKE2b-256 | 9fcf7792c1290ca183e07c197c92ada4b0fa63b12e1cc1cdcee0fc032657ba43 |
Close
Hashes for finoptim-0.0.2-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f65d0ec8e7016f25b0808d3c774c70ed98567333a1f61d27fbce251d8500179c |
|
MD5 | a21e03a8ed07f018a33d331ec397d0c9 |
|
BLAKE2b-256 | b059a260772ab8feb9723f606e6accefd7d1000fb8afadaa6cf4ebb50b7fe603 |
Close
Hashes for finoptim-0.0.2-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad8d7f8c8ef90d58a6ae1437e007484dd97ef630c7fdc2f8906bd7353c0ab694 |
|
MD5 | b23ed006f715899835533547be45040c |
|
BLAKE2b-256 | c6144faf4543793ff11bfebe9e2d47fd71dc68df2236643c9bdfa3d45c81a761 |
Close
Hashes for finoptim-0.0.2-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66d55bd01dc68557041c5c8cad791eb6569a5577dda44761f935793e02ac8755 |
|
MD5 | 94cf8b8db00b2f60bbe9837e294e9a18 |
|
BLAKE2b-256 | b528115769dfa68c7d68818f1d576c8b5b26090da11ec3afb8fa8efefcea85dc |
Close
Hashes for finoptim-0.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3986b71ac3fd6e859bcf70b5c9c5d68fcf3dc95ba3435021bade45ea406a5d58 |
|
MD5 | 5da65f8d0d34604398313f457af2738b |
|
BLAKE2b-256 | d139f583fe61b2062241699ead29d387136612acffedfd9535e687ea95c646d9 |
Close
Hashes for finoptim-0.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51f208c85c5bdbe738d2dc56a547ff936835a6a96980ef8f0b52d15b4ce14f91 |
|
MD5 | b82b95498f5852195d17258997a161e8 |
|
BLAKE2b-256 | d7c54fb9be28b8c6408588b07a9eb11ff17194cc4705d517589c7e39a5174598 |
Close
Hashes for finoptim-0.0.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 444b2202d48197011e886e6feb157f57242c1bbd1841bf4487b271f12b3d1782 |
|
MD5 | 3042d28aab6abba1b9ad078720e1acf4 |
|
BLAKE2b-256 | b4f6191624019f009a4b401b60f7357fcb81bad9bff962b9bef0df30d1383f02 |
Close
Hashes for finoptim-0.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e207c3d93b708b499c25b584df69984891868b680d3a1f398dd512167b2203e |
|
MD5 | 852ab0057719924faabe68c03d414ddf |
|
BLAKE2b-256 | 683a50f48164f98f7a8f227c5c2237d43ac295edacfadc3266d5bb75cc63582b |
Close
Hashes for finoptim-0.0.2-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05e9e2fcd4811ac1b652fae4809378daf534be66e1f1b8639fc3e913acd4c4aa |
|
MD5 | 2fadccf484297d2672a32dc74b781d41 |
|
BLAKE2b-256 | b65cd908a67a3608df6561ee20a16137b8ea3ea1a44f104cc3bfb8f38d9a3516 |