Skip to main content

Factorization Machines for ranking problems with implicit feedback data

Project description

RankFM

PyPI version CircleCI Documentation Status License: GPL v3

[original author]


Improvement points

Due to the author's cessation of maintaining Rankfm, only a new project can be created for maintenance.

  1. Remove incompatible prints.
  2. Adding Compilation of Different Python Versions for Different Systems.
  3. When github create release, rankfm automatic compilation and release to pipy.
  4. Add README.md to pipy.
  5. Add clear explanations based on the issue.
  6. Removing large C memory view conversion, training speed increased by 52 times.
  7. Parallel recommendation.
  8. Remove useless global variables to reduce memory.

Describe

RankFM is a python implementation of the general Factorization Machines model class adapted for collaborative filtering recommendation/ranking problems with implicit feedback user/item interaction data. It uses Bayesian Personalized Ranking (BPR) and a variant of Weighted Approximate-Rank Pairwise (WARP) loss to learn model weights via Stochastic Gradient Descent (SGD). It can (optionally) incorporate sample weights and user/item auxiliary features to augment the main interaction data.

The core (training, prediction, recommendation) methods are written in Cython, making it possible to scale to millions of user/item interactions. Designed for ease-of-use, RankFM accepts both pd.DataFrame and np.ndarray inputs - you do not have to convert your data to scipy.sparse matrices or re-map user/item identifiers prior to use. RankFM internally maps all user/item identifiers to zero-based integer indexes, but always converts its output back to the original user/item identifiers from your data, which can be arbitrary (non-zero-based, non-consecutive) integers or even strings.

In addition to the familiar fit(), predict(), recommend() methods, RankFM includes additional utilities similiar_users() and similar_items() to find the most similar users/items to a given user/item based on latent factor space embeddings. A number of popular recommendation/ranking evaluation metric functions have been included in the separate evaluation module to streamline model tuning and validation.

  • see the Quickstart section below to get started with the basic functionality
  • see the /examples folder for more in-depth jupyter notebook walkthroughs with several popular open-source data sets
  • see the Online Documentation for more comprehensive documentation on the main model class and separate evaluation module
  • see the Medium Article for contextual motivation and a detailed mathematical description of the algorithm

Dependencies

  • Python 3.8+
  • numpy >= 1.15
  • pandas >= 0.24

Installation

You can install the latest published version from PyPI using pip:

pip install rankfmc

Or alternatively install the current development build directly from GitHub:

pip install git+https://github.com/ErraticO/rankfmc.git

Quickstart

Let's work through a simple example of fitting a model, generating recommendations, evaluating performance, and assessing some item-item similarities. The data we'll be using here may already be somewhat familiar: you know it, you love it, it's the MovieLens 1M!

Let's first look at the required shape of the interaction data:

user_id item_id
3 233
5 377
8 610

It has just two columns: a user_id and an item_id (you can name these fields whatever you want or use a numpy array instead). Notice that there is no rating column - this library is for implicit feedback data (e.g. watches, page views, purchases, clicks) as opposed to explicit feedback data (e.g. 1-5 ratings, thumbs up/down). Implicit feedback is far more common in real-world recommendation contexts and doesn't suffer from the missing-not-at-random problem of pure explicit feedback approaches.

Now let's import the library, initialize our model, and fit on the training data:

from rankfmc import RankFM
model = RankFM(factors=20, loss='warp', max_samples=20, alpha=0.01, sigma=0.1, learning_rate=0.1, learning_schedule='invscaling')
model.fit(interactions_train, epochs=20, verbose=True)
# NOTE: this takes about 30 seconds for 750,000 interactions on my 2.3 GHz i5 8GB RAM MacBook

If you set verbose=True the model will print the current epoch number as well as the epoch's log-likelihood during training. This can be useful to gauge both computational speed and training gains by epoch. If the log likelihood is not increasing then try upping the learning_rate or lowering the (alpha, beta) regularization strength terms. If the log likelihood is starting to bounce up and down try lowering the learning_rate or using learning_schedule='invscaling' to decrease the learning rate over time. If you run into overflow errors then decrease the feature and/or sample-weight magnitudes and try upping beta, especially if you have a small number of dense user-features and/or item-features. Selecting BPR loss will lead to faster training times, but WARP loss typically yields superior model performance.

Now let's generate some user-item model scores from the validation data:

valid_scores = model.predict(interactions_valid, cold_start='nan')

this will produce an array of real-valued model scores generated using the Factorization Machines model equation. You can interpret it as a measure of the predicted utility of item (i) for user (u). The cold_start='nan' option can be used to set scores to np.nan for user/item pairs not found in the training data, or cold_start='drop' can be specified to drop those pairs so the results contain no missing values.

Now let's generate our topN recommended movies for each user:

valid_recs = model.recommend(valid_users, n_items=10, filter_previous=True, cold_start='drop')

The input should be a pd.Series, np.ndarray or list of user_id values. You can use filter_previous=True to prevent generating recommendations that include any items observed by the user in the training data, which could be useful depending on your application context. The result will be a pd.DataFrame where user_id values will be the index and the rows will be each user's top recommended items in descending order (best item is in column 0):

0 1 2 3 4 5 6 7 8 9
3 2396 1265 357 34 2858 3175 1 2028 17 356
5 608 1617 1610 3418 590 474 858 377 924 1036
8 589 1036 2571 2028 2000 1220 1197 110 780 1954

Now let's see how the model is performing wrt the included validation metrics evaluated on the hold-out data:

from rankfmc.evaluation import hit_rate, reciprocal_rank, discounted_cumulative_gain, precision, recall

valid_hit_rate = hit_rate(model, interactions_valid, k=10)
valid_reciprocal_rank = reciprocal_rank(model, interactions_valid, k=10)
valid_dcg = discounted_cumulative_gain(model, interactions_valid, k=10)
valid_precision = precision(model, interactions_valid, k=10)
valid_recall = recall(model, interactions_valid, k=10)
hit_rate: 0.796
reciprocal_rank: 0.339
dcg: 0.734
precision: 0.159
recall: 0.077

That's a Bingo!

Now let's find the most similar other movies for a few movies based on their embedding representations in latent factor space:

# Terminator 2: Judgment Day (1991)
model.similar_items(589, n_items=10)
2571                       Matrix, The (1999)
1527                Fifth Element, The (1997)
2916                      Total Recall (1990)
3527                          Predator (1987)
780             Independence Day (ID4) (1996)
1909    X-Files: Fight the Future, The (1998)
733                          Rock, The (1996)
1376     Star Trek IV: The Voyage Home (1986)
480                      Jurassic Park (1993)
1200                            Aliens (1986)

I hope you like explosions...

# Being John Malkovich (1999)
model.similar_items(2997, n_items=10)
2599           Election (1999)
3174    Man on the Moon (1999)
2858    American Beauty (1999)
3317        Wonder Boys (2000)
223              Clerks (1994)
3897      Almost Famous (2000)
2395           Rushmore (1998)
2502       Office Space (1999)
2908     Boys Don't Cry (1999)
3481      High Fidelity (2000)

Let's get weird...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rankfmc-0.3.5.tar.gz (258.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rankfmc-0.3.5-cp313-cp313-win_amd64.whl (334.0 kB view details)

Uploaded CPython 3.13Windows x86-64

rankfmc-0.3.5-cp313-cp313-win32.whl (315.3 kB view details)

Uploaded CPython 3.13Windows x86

rankfmc-0.3.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (920.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rankfmc-0.3.5-cp313-cp313-macosx_15_0_arm64.whl (593.0 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

rankfmc-0.3.5-cp312-cp312-win_amd64.whl (334.0 kB view details)

Uploaded CPython 3.12Windows x86-64

rankfmc-0.3.5-cp312-cp312-win32.whl (315.5 kB view details)

Uploaded CPython 3.12Windows x86

rankfmc-0.3.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (925.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rankfmc-0.3.5-cp312-cp312-macosx_15_0_arm64.whl (594.1 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

rankfmc-0.3.5-cp311-cp311-win_amd64.whl (336.2 kB view details)

Uploaded CPython 3.11Windows x86-64

rankfmc-0.3.5-cp311-cp311-win32.whl (317.3 kB view details)

Uploaded CPython 3.11Windows x86

rankfmc-0.3.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (876.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rankfmc-0.3.5-cp311-cp311-macosx_15_0_arm64.whl (593.7 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

rankfmc-0.3.5-cp310-cp310-win_amd64.whl (336.4 kB view details)

Uploaded CPython 3.10Windows x86-64

rankfmc-0.3.5-cp310-cp310-win32.whl (318.0 kB view details)

Uploaded CPython 3.10Windows x86

rankfmc-0.3.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (854.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rankfmc-0.3.5-cp310-cp310-macosx_15_0_arm64.whl (594.4 kB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

rankfmc-0.3.5-cp39-cp39-win_amd64.whl (336.8 kB view details)

Uploaded CPython 3.9Windows x86-64

rankfmc-0.3.5-cp39-cp39-win32.whl (318.4 kB view details)

Uploaded CPython 3.9Windows x86

rankfmc-0.3.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (850.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

rankfmc-0.3.5-cp39-cp39-macosx_15_0_arm64.whl (594.9 kB view details)

Uploaded CPython 3.9macOS 15.0+ ARM64

File details

Details for the file rankfmc-0.3.5.tar.gz.

File metadata

  • Download URL: rankfmc-0.3.5.tar.gz
  • Upload date:
  • Size: 258.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankfmc-0.3.5.tar.gz
Algorithm Hash digest
SHA256 51b26d141f99a812f842f39dc74da5f48cdc2d03667c6cfa63ade02883f46fdb
MD5 64c3dec9050060435eebbd085fbbd9db
BLAKE2b-256 ac8917face1afbbaad120a34d35501aac22ee999513811fd1448be5d8670ac05

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5.tar.gz:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: rankfmc-0.3.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 334.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankfmc-0.3.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5127c35953a70f57ca266da7ce9667bc1f6233dbf6d1860d8d23d9c4ae416c18
MD5 a5916126d1faac3bc6d4b0a08b7be977
BLAKE2b-256 e2a4d14ac4b5b3b23ee8b1ae8a8ea248db56ca6d8ece975b503470a1af107c63

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp313-cp313-win32.whl.

File metadata

  • Download URL: rankfmc-0.3.5-cp313-cp313-win32.whl
  • Upload date:
  • Size: 315.3 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankfmc-0.3.5-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 c12ce363115d3c65154c3eb25aa39f00eb906b19abe0007741f97bd198fa79a2
MD5 64c5f52b5b5ce71c75e5eab2af8d7490
BLAKE2b-256 af9618ee200408e39e1dfba9545bd3f74b379911e9b01ff7cfc3ebac617cb449

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp313-cp313-win32.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankfmc-0.3.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6b4f5523220aeff28c8cd2b7fb27f6f63688aed99f079012652d9eec2b33d49
MD5 8d1f72c7f4e3376aa19893e0956dbe05
BLAKE2b-256 6c71e175a20bd26737a14897929348a0ca0815d4249bd7ba3dd827c0bdd2f954

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for rankfmc-0.3.5-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 6b54d32764633ed3d670b9e2bac2f7312729ae7d831a11e4db905e269ac7fa57
MD5 b5750c3040683854dce2c4fbf92aff7f
BLAKE2b-256 218d7dec00bb2f5c5c7c3629b8c8d621bb467ceb278c76a1f7a8a7300f9d8a9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp313-cp313-macosx_15_0_arm64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rankfmc-0.3.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 334.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankfmc-0.3.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 748b43606197a29fea595335a0953043d5b1243d742254e0bf1e5a8f267f3e0e
MD5 e4ad1dd6077e390fe30de7f5590517d3
BLAKE2b-256 075959141f9bae0188ebddc8cb251ea39270713fb507f07335afe538c38a3034

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp312-cp312-win32.whl.

File metadata

  • Download URL: rankfmc-0.3.5-cp312-cp312-win32.whl
  • Upload date:
  • Size: 315.5 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankfmc-0.3.5-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 d91d77c338a129fc257c0e7693f6f2bfa1bae05754066239e454f2976fa23fda
MD5 e61f2975c6081f1ec247661d0f0b7ab3
BLAKE2b-256 e3ad32367f22830718890751e6d483bac73e22c017569aa21f52e517ad047eb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp312-cp312-win32.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankfmc-0.3.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ed9aea85290373eff31a94470bdadf43b3fbe4081b0435ce66290834ddf4107
MD5 204b317c4dcbf0c07c8f1536560dc024
BLAKE2b-256 951aec12d431087689c1e022c76318fe592f5112c544dae724eec129015477c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for rankfmc-0.3.5-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 567fe50390216e652e95e9c671be1f6d02a9ce56e33f54f590149ff0cfeb7632
MD5 05dd386126e442d518d6625bd9c4ce19
BLAKE2b-256 31fc8af92dfc7478f0bd950a6474f737bbe1551f456ddce3c75da5876157da90

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rankfmc-0.3.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 336.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankfmc-0.3.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 356539f65404c64a9f6be7c002602120b79e497beee3bedeffcc140741d71997
MD5 121cffc9046331104291f542e11810c5
BLAKE2b-256 4affcb0754a04af96a2d38dbdf6c0f4aaf629bc5178f880e370ed0b58c655872

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp311-cp311-win32.whl.

File metadata

  • Download URL: rankfmc-0.3.5-cp311-cp311-win32.whl
  • Upload date:
  • Size: 317.3 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankfmc-0.3.5-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 4777e77309cd396450b872920d7d6bccdee2a621aba058fa7c8c0f836a3201f6
MD5 3b02e9644b5323d02d033282bd9579da
BLAKE2b-256 6fcf57371332f7b3c845ceffc4ccf8428747b000fb67341890e634c5c248dd72

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp311-cp311-win32.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankfmc-0.3.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 917c444efd2a9f79c5ecc8e14b12bf86e57472b1a2ff1abfc94757827b3e8170
MD5 47773f9c08be67242dcdb3be09d874de
BLAKE2b-256 1e91c866671f3ef199bd20425f70985dad3be6896d1924a3b448968c6cfd9556

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for rankfmc-0.3.5-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 535373f858c93f377f26b745bc5038864482814c93cc499a101e645dcb458c0e
MD5 3afbeb5b673a485b6534b87c1cb4bb56
BLAKE2b-256 a357b5df647e0eadf5826cb30aec3bbe6ee16a96360981406bc9e1273f094625

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp311-cp311-macosx_15_0_arm64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rankfmc-0.3.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 336.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankfmc-0.3.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fdfbce5eb1cd98c0ffb2d43e2088211bf74a0f46b2538eb188fc82e7687929b1
MD5 ca041a20539343eab5ead49f58e7b44a
BLAKE2b-256 f04de048fb1d92abec42b80b8cb0cbf365a934d53d0bf3d0d042166992ba51c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp310-cp310-win32.whl.

File metadata

  • Download URL: rankfmc-0.3.5-cp310-cp310-win32.whl
  • Upload date:
  • Size: 318.0 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankfmc-0.3.5-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 df94244b2f98c68ca6a4d7db7ae826af3ad223e278bf165f3ee6949587c0b805
MD5 692377c7d873fc2324d37287824725e1
BLAKE2b-256 7f0f0cf808660f8e7a57323b04547c9016b49fbd7333f3b5b1648b545fec0eb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp310-cp310-win32.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankfmc-0.3.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 92b0a37403054cf703bae45878fbd37e0c2a45fcfc5b455a106265ba28b17adc
MD5 7fb0fd6f948d9bfac14c71e8c1464cb8
BLAKE2b-256 02853c0c97af9e326aeac784db26518225820e2a2d4f9c2367c8debb85062d40

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for rankfmc-0.3.5-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 5e036d06c92439fa8afd74effffaa5eb8cc4019800d96c0781e1c942f71bc1c2
MD5 c7442d88e86bb97d1e83acd31859af2c
BLAKE2b-256 da4abb499662ae57bec4bf50af512246e10e678e79591117b99d7560d801670c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp310-cp310-macosx_15_0_arm64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: rankfmc-0.3.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 336.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankfmc-0.3.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 539224b379a8da9eb9836b2bace5f16031453c0e7a871144a934edfdacf921f9
MD5 a3536b80424caeb9c771443b9655b735
BLAKE2b-256 f123060d0ad33335aa7a569e5caaab2fb153bd86aabf6063d10dee0f6d51d2ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp39-cp39-win_amd64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp39-cp39-win32.whl.

File metadata

  • Download URL: rankfmc-0.3.5-cp39-cp39-win32.whl
  • Upload date:
  • Size: 318.4 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankfmc-0.3.5-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 025597568401fd1ed8f11aaa8686917a33c22cb88eb1dff87672716fcd21f2ec
MD5 8f7170b9f6782210c12eab9774028c28
BLAKE2b-256 a65c5bc23fc71ec93d587644eae47b3b352ce59657019940b10e5ada114ba79a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp39-cp39-win32.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankfmc-0.3.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5fdf9afcd873bf3732acf62321e19e80c45947a836421d0fc23055a86651a4fa
MD5 55584c021e1ebf9907fe89e79b498e4c
BLAKE2b-256 a922734d47bbcbd05e0dfdfde0a7704ff9f9268afe4bc41cf23077c723b63464

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rankfmc-0.3.5-cp39-cp39-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for rankfmc-0.3.5-cp39-cp39-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 9cda1b456cee4256d2abd85515d505744ca59355abbc032dcb62dde74e949143
MD5 e0c6b24cd28674c46bc73851edef92d0
BLAKE2b-256 cd4f08939f057df6c799201fd8f6da1cc32b7e809f2fcb34007a86fac53d79ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankfmc-0.3.5-cp39-cp39-macosx_15_0_arm64.whl:

Publisher: publish.yml on ErraticO/rankfmc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page