22 releases

0.10.0 Nov 3, 2024
0.9.0 Jul 28, 2024
0.8.6 Sep 5, 2023
0.4.0 Jul 27, 2023

#158 in Database interfaces

50 downloads per month

MIT license

1.5MB
22K SLoC

SQL 20K SLoC // 0.0% comments Rust 2K SLoC // 0.1% comments Python 519 SLoC // 0.1% comments

Vinted-rs: A Vinted API wrapper in Rust

githubcrates-iodocs-rs

Installation

Via cargo you can add the library to your project's Cargo.toml

[dependencies]
vinted-rs = { version = "0.10.0", 
              #features = ["advanced_filters", "redis"] 
              }

Features

Feature Description Example
Advanced Filters Uses the data pulled by the scrapping module, which is stored in the diesel migrations folder.
Redis Allows recovered results to be cached using a Redis instance

Advanced filters

This feature requires setting up a Postgres Database

Uses the data pulled by the scrapping module, which is stored in the diesel migrations folder.

Environment set-up

  1. Copy the .env.example

    cp .env.example .env
    
  2. Modify the variables to your liking

Database set-up

Advanced filtering features must require this setup before running.

  1. ⚠️ diesel-cli installation may fail if you do not have libpq library installed. To install libpq, just install PostgreSQL package on your machine.

    • In Arch based is only necessary to install this package.

      sudo pacman -S postgresql-libs
      
    • In Debian based distributions is only necessary to install this package.

      sudo apt install libpq-dev
      
  2. Install diesel-cli in order to run the migrations in PostgreSQL database

    cargo install diesel_cli --features=postgres --no-default-features
    

Available interactions (See Makefile)

  1. Create a migration

    mkdir -p migrations #
    diesel migration generate my_migration
    

    Program after that up.sql and down.sql scripts.

  2. Run a Docker container with PostgreSQL

    make db
    
  3. Run migrations

    make diesel
    
  4. Stop DB

    make stop
    

Testing set-up

This step requires completing the DB setup

cargo test

Redis

This feature allows recovered results to be cached using a Redis instance.

A development instance can be created using:

make cache

Dependencies

~16–29MB
~456K SLoC