Skip to content
/ pypo Public

Pypo is a self hosted bookmarking service like Pocket, implemented in Python with django

License

Notifications You must be signed in to change notification settings

audax/pypo

Repository files navigation

About Pypo

Build Status

Pypo is a self hosted bookmarking service like Pocket. There also is a rudimentary android application and firefox extension to add and view the bookmarks.

It's main components are built with:

  • Python 3
  • Postgresql
  • Django
  • readability-lxml
  • Whoosh
  • django-haystack
  • django-taggit
  • tld
  • South
  • requests
  • djangorestframework
  • py.test
  • bleach

Documentation

Full documentation can be found at readthedocs

Features

  • Adding links and fetch their summaries and titles
  • Links can have multiple tags
  • Search by title, url and tags
  • Filter by tags

Installation

  1. Create a virtualenv and
$ pip install -r requirements.txt
$ pip install -e .
  1. Setup a postgresql db
  2. You can overwrite the default settings by creating a settings_local.py next to pypo/settings.py . Do not directly edit the settings.py.
  3. Install js modules with bower
$ npm install -g bower
$ bower install
  1. Install yuglify for js and css minifiy
$ npm install -g yuglify
  1. Setup the database
$ ./manage.py syncdb
$ ./manage.py migrate
  1. Add a superuser
$ ./manage.py createsuperuser
  1. Host the application, see Deploying Django with WSGI
  2. Create normal users with the admin interface /admin

Deploying

There is a fab file you can customize to you liking. It creates a virtualenv, sets up the directory structure and checks your current local commit out on the target machine.

Requirements status

Requirements Status

License

This project is licensed under the terms of the Apache License version 2. See COPYING.txt for details.