Find a file
2021-02-03 15:59:32 +01:00
.github/workflows Migrate from Travis to GitHub Actions 2021-01-08 21:35:24 +01:00
docs Update readme for release 20201201 2020-11-28 17:35:34 +01:00
fimfarchive Fix string escape deprecation warning 2021-01-27 14:49:28 +01:00
operations Add Fimfarchive 20201201 to tracker whitelist 2020-11-28 22:32:30 +01:00
tests Fix deprecation warnings from Arrow 2021-01-08 20:03:11 +01:00
.coveragerc Add configuration file for test coverage 2017-01-09 00:10:16 +01:00
.gitignore Add vim settings to gitignore 2020-03-28 21:19:37 +01:00
LICENSE.txt Initial commit 2015-09-27 20:46:58 +02:00
README.md Add installation section to readme 2021-02-03 15:59:32 +01:00
requirements.txt Sort dependencies in requirements file 2019-09-01 14:54:39 +02:00
setup.py Add JSON to FPUB converter 2019-03-10 15:16:50 +01:00
tox.ini Migrate from Travis to GitHub Actions 2021-01-08 21:35:24 +01:00

Fimfarchive

Fimfarchive aims to release all stories on Fimfiction as a single ZIP-file. The archive contains not only stories, but also metadata such as tags, ratings, and descriptions. It is organized by author and could be used for backup, offline reading, or data mining.

Releases can be found on Fimfarchive's user profile at Fimfiction. Note that this is not an official Fimfiction project, so do not send questions to Fimfiction staff. Instead, send a private message or post a comment to the Fimfarchive user profile.

A new version will be released each season via BitTorrent, approximately once every three months. When suitable, an xdelta3 patch will also be provided for users who do not wish to redownload unchanged stories.

Note that the archive contains a large number of files. Unzipping it to your file system may not be necessary if the archive is to be used together with some application. If you are a developer, reading directly from the ZIP-file may be preferable.

This repository contains code for updating and building the archive. While the API is not guaranteed to be stable, it can also be used as a library for easy access to stories and metadata within the archive. A Fimfiction API key is however needed to stories directly from Fimfiction.

Installation

There are primarily two ways to install this tool. The first is installation as a library for use within other projects, and the second is installation for development of Fimfachive. Using a virtual environment is recommended for both cases in order to avoid contaminating the rest of the Python installation.

Installation as a Library

Make sure a virtual environment has been created and activated. When done, simply install the library directly from the master branch on GitHub.

python3 -m pip install git+https://github.com/JockeTF/fimfarchive.git

Optionally also install lz4 to lower the memory footprint of open archives.

python3 -m pip install lz4

That's it! Import a class to make sure things work as expected.

from fimfarchive.fetchers import FimfarchiveFetcher

Installation for Development

Start by creating a clone of the Fimfarchive repository.

git clone https://github.com/JockeTF/fimfarchive.git

Enter the cloned repository and create a virtual environment called venv within it. Make sure to activate the virtual environment before proceeding to install the development dependencies.

python3 -m pip install -r requirements.txt

Optionally also install lz4 to lower the memory footprint of open archives.

python3 -m pip install lz4

All done! Run the test suite to make sure everything works as expected.

pytest