Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Partial mar generation service
Python Erlang Shell Makefile
branch: master

PEP8 fixes

latest commit a6b2e294b2
@rail rail authored
Failed to load latest commit information.
configs Log everything under /var/log/funsize
funsize PEP8 fixes
logs Switch to docker based dev environment
tests PEP8 fixes
.coveragerc Pytest + coverage
.travis.yml Disable deployment
Dockerfile Log everything under /var/log/funsize Log everything under /var/log/funsize Fixed Cache write concurrency error; Updated LICENSE,README,TODO; Use requirements.txt
Makefile Switch to docker based dev environment Move logs to /var/log/funsize Log everything under /var/log/funsize Use redirects
requirements.txt Use requirements.txt


Build Status Coverage Status

This service (Previously called Senbonzakura) generates partial .MAR (Mozilla ARchive) files to update Firefox from Version A to Version B. It generates these on demand via API.

See Wiki Page (Historical) and Wiki Page for more details.



Dev-Env Requirements

  • A Linux machine with docker installed
  • Run ./tests/ to generate 2 docker containers:
    • A container running RabbitMQ server. This container will be linked to the main container. See docker documentation for the details.
    • Funsize container will be running in foreground. The checkout root directory will be mounted to the /app directory inside the container. This means that your file changes will be propagated to the container.
  • The application logs will show up in the logs directory
  • Funzise REST API can be accessed at http://localhost:5000
  • The task queue can be monitored at http://localhost:5555/
  • Ctrl+C to stop the container. The rabbitmq contaner will be stopped automatically
  • You can run ./tests/ /bin/bash to get shell access to the funsize container. Note that the services won't be running. You can start them by running supervisord &.
  • To run funsize with S3 cache backend (by default it uses local cache), export the following variables:
export AWS_ACCESS_KEY_ID=your_aws_key_id
export AWS_SECRET_ACCESS_KEY=your_aws_sikrit
export FUNSIZE_S3_UPLOAD_BUCKET=bucket-name
  • To delete ALL docker containers and images use the following commands
# Delete all containers
docker rm $(docker ps -a -q)
# Delete all images
docker rmi $(docker images -q)

Running Unit Tests

Run tox command. It will create a temporary virtualenv under .tox and run the tests.

Client side

The client side to call for partials lies in this python package script:


This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at

You can find a full copy of the MPL in the included file.

Something went wrong with that request. Please try again.