Author: Pradyumna Paranjape

# pspman plan

## Table of Contents

- Faculties
- Objects
- Database
- Choices
- Queues

## Faculties

- List
- Update
  - pull code
  - install
- Add
- Remove
- lock

## Objects

### Environment

#### Clone dir

Parent directory root for all projects

#### Prefix

Prefix for installations

### Project

#### URL

URL to clone

#### name

Name of directory (Also name of project)

#### Base Tag

Base Tag of project

## Database

Structure: hidden yaml file

### Contents

#### git_projects

- format: name: gp_data
- name: name of git_project
- gp_data: GitProject.__dict__()

## Choices

### Force Risk

- Force risky installation as root

### Stale

- Do not try to update existing projects

### Only Pull

- Do not install projects

## Queues

### PullQueue:

Queue to pull projects

- Rate limited by speed of internet
- Speed: 2
- Chronology: 1

### InstallQueue:

Queue for installation of projects

- Rate limited by speed of processor\/RAM
- Speed: 1
- Chronology: 2

### ErrorQueue:

Handle Errors

- Rate limited by action to be taken (user input)
- Speed: 3
- Chronology: 3