Skip to main content

ShaarPy: Share your thoughts, links, ideas, notes. self-hosting bookmarks and micro blogging. If you ever wanted Shaarli in python, that's it ^_*

Project description

ShaarPy

Share Thoughts, Ideas, Links, Notes.

a 'Shaarli cloned' in Python made with Django

Main page

Features

  • bookmarking
  • microblogging

Notes

  • Create notes in Markdown

Links

  • Drop a URL and ShaarPy will grab the article page with image and video if the source website provides ones article with image

Tags

  • Manage tags
  • Tag Cloud

tag cloud

Daily links history

  • See the links of the day and navigate throw the calendar to go back to your old links

daily links

Tools

  • for each link added, a markdown file can be create in a folder that will be sync on your mobile with the help of "syncthing"
  • Import of Shaarli exported bookmark, or even FireFox bookmarks
  • you can export/import your data in json
  • Import your Pelican blog markdown files

export

python manage.py dumpdata --format json --indent 2 > fixtures/my_shaarpy_dump.json

import

python manage.py loaddata --format json  fixtures/my_shaarpy_dump.json

Bookmarklet

Drag the link you'll find under your profile, to the bookmark of the browser

Bookmarklet

Now you'are able to post a new link just be clicking this bookmarklet wherever you are on the web

Links sync on mobile

If you don't host ShaarPy on a dedicated server, you can run it locally and sync the links in markdown file and sync them on mobile.

Then files are generated, you may found them on your mobile (thanks to syncthing for managing that task)

original webpage

Link of the website

shaarpy grabbed link

Link in shaarpy

shaarpy link on mobile

Shaarpy link on mobile

(I use "Epsilon Notes" for that)

Installation

:package: Installation

Requirements

  • Python from 3.11 3.12 3.13
  • Django from 5.1+

Installation

create a virtualenv

python3 -m venv shaarpy
cd shaarpy
source bin/activate

install the project

git clone https://github.com/foxmask/shaarpy.git
cd shaarpy

:wrench: Settings

copy the sample config file

cp env.sample .env

and set the following values, for examples

# for meta
SHAARPY_NAME=Shaarpy
SHAARPY_DESCRIPTION=Share thoughts, links ideas, notes
SHAARPY_AUTHOR=FoxMaSk
SHAARPY_ROBOT=index, follow
# for MD generation, set a path eg /home/foxmask/MesNotes/links or leave it empty to not use this feature
SHAARPY_LOCALSTORAGE_MD=
SHAARPY_STYLE=blue

SECRET=!DONTFORGETTOCHANGETHISVALUE!

# for production environment, set it to the URL of your 'ShaarPy'
# 1 set it to False
DEBUG=False
# 2 set it to the URL of your 'ShaarPy'
ALLOWED_HOSTS='127.0.0.1,localhost'
# 3 set it to your own domain hosting shaarpy
CSRF_TRUSTED_ORIGINS=https://*.mydomain.com

# for database
DB_ENGINE='django.db.backends.sqlite3'
DB_NAME='db.sqlite3'
DB_USER=''
DB_PASSWORD=''
DB_HOST=''
DB_PORT=''

# i18n/l10n
TIME_ZONE='Europe/Paris'
LANGUAGE_CODE='en-en'
USE_I18N=True
USE_TZ=True

:dvd: Database

setup the database

cd shaarpy
python manage.py migrate
python manage.py createsuperuser
python manage.py loaddata shaarpy/fixtures/my_shaarpy_data.json

:mega: Running the Server

start the project

python manage.py runserver localhost:8001

then, access the project with your browser http://127.0.0.1:8001/

Test

python manage.py test

or

pytest

or

coverage run --source='.' -m pytest
coverage report -m

DOCKER

build the image and run the container

sudo docker compose up --build -d

then, the first installation, do:

sudo docker compose exec web python manage.py migrate --noinput
sudo docker compose exec web python manage.py createsuperuser

Logo

(logo, thanks to https://pixabay.com/fr/users/clker-free-vector-images-3736/ )

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shaarpy-1.2.0.tar.gz (296.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shaarpy-1.2.0-py3-none-any.whl (192.9 kB view details)

Uploaded Python 3

File details

Details for the file shaarpy-1.2.0.tar.gz.

File metadata

  • Download URL: shaarpy-1.2.0.tar.gz
  • Upload date:
  • Size: 296.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.2

File hashes

Hashes for shaarpy-1.2.0.tar.gz
Algorithm Hash digest
SHA256 f1c5f65ab2879e01ffac41f89b55eeb1262962dfce2055323e12303937b5f6eb
MD5 fa55727ae92dc537cb0d5523953e9006
BLAKE2b-256 814f50baa9f2f3c3a572eef35f98cd57ae7be0394bae8fac2286aa529ceef1e7

See more details on using hashes here.

File details

Details for the file shaarpy-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: shaarpy-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 192.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.2

File hashes

Hashes for shaarpy-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ad331b4e018802709a81dc4f60b1f9f65f640bba002923f07f896385f0bd5152
MD5 0dce30bc92722ae0e8ef6f600d65e513
BLAKE2b-256 1c7699e0c9faf822470f76fbf572e732073b6babf4672e800394f10e4a6d7661

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page