<commit_before># Pepa DMS

## What is Pepa?

Pepa is a document management system primarily designed for archiving
and retrieving your digital documents. It's implemented in Clojure and
ClojureScript. Pepa can be used from within your browser and - this
goes without saying - you can view all your documents there.

### How does Pepa work?

Any document management system (any archive whatsoever really) would
be pretty useless if it would only store documents. To be more than
just a black hole for documents, a DMS should aid you in organizing
the documents. You should be able to not only store your documents,
but to search for them and - even more importantly - to find them.

Pepa uses a tagging system inspired by
[Notmuch](http://notmuchmail.org/) to achieve this. A tag is a text
label that the user adds to a document. This could be anything from
`invoice` to `university` or `work` or `doctor` or `contracts` or
`papers` or ... Of course you can add more than one tag to a document.
A document tagged with `invoice` can additionally be tagged with
`invoice` or `paid` for example.

Those tags can be used to find a document. You want to find every
documents that's an unpaid invoice? Easy, let Pepa search for
documents which are tagged with `invoice` and `unpaid` - once you have
paid those invoice, you can remove the `unpaid` tag and add the `paid`
tag instead.

Of course, Pepa allows not only searching by tag. Every document in
Pepa is available for full-text search. You can combine this search
with the tag search to increase your chances of finding just the
right document.


### Current features

- Supported formats
  - PDF
- Import channels
  - SMTP / email (attachments are extracted)
  - HTTP (API and upload via web interface)
- Manual tagging
- Full-text search
- OCR (via Tesseract and/or CuneiForm)
- Interactive document dissection

### Planned features

- User management and groups/organisations
- Rule-based (automatic) tagging
- Self-learning tagging
- Additional document types
  - JPG, PNG, TIFF
  - Plain-Text
  - HTML
  - E-Mail

### Features not planned

Since we want to keep our focus, the following features are not
planned to become a part of Pepa:

* Support for proprietary and/or very complex file formats. notably
  Microsoft Word, Excel, and Powerpoint. Neither are we planning to
  implement support for documents from LibreOffice or OpenOffice.
  Those formats are not well suited for archiving and good support
  would be too much effort.

Since Pepa is open source, you are of course free to implement those
features yourself.

## Project status

Pepa is currently in an early development stage which means that it's
not ready for production use, yet, as there will be frequent breaking
changes still. You are very welcome to give it a try, though, and we
are happy to receive feedback either via GitHub issues or<commit_msg>Small text fixes in README<commit_after># Pepa DMS

## What is Pepa?

Pepa is a document management system primarily designed for archiving
and retrieving your digital documents. It's implemented in Clojure and
ClojureScript. Pepa can be used from within your browser and - this
goes without saying - you can view all your documents there.

### How does Pepa work?

Any document management system (any archive whatsoever really) would
be pretty useless if it would only store documents. To be more than
just a black hole for documents, a DMS should aid you in organizing
the documents. You should be able to not only store your documents,
but to search for them and - even more importantly - to find them.

Pepa uses a tagging system inspired by
[Notmuch](http://notmuchmail.org/) to achieve this. A tag is a text
label that the user adds to a document. This could be anything from
`invoice` to `university` or `work` or `doctor` or `contracts` or
`papers` or ... Of course you can add more than one tag to a document.
A document tagged with `invoice` can additionally be tagged with
`invoice` or `paid` for example.

Those tags can be used to find a document. You want to find every
documents that's an unpaid invoice? Easy, let Pepa search for
documents which are tagged with `invoice` and `unpaid` - once you have
paid those invoice, you can remove the `unpaid` tag and add the `paid`
tag instead.

Of course, Pepa allows not only searching by tag. Every document in
Pepa is available for full-text search. You can combine this search
with the tag search to increase your chances of finding just the
right document.


### Current features

- Supported formats
  - PDF
- Import channels
  - SMTP / email (attachments are extracted)
  - HTTP (API and upload via web interface)
- Manual tagging
- Full-text search
- OCR (via Tesseract and/or CuneiForm)
- Interactive document dissection

### Planned features

- User management and groups/organisations
- Rule-based (automatic) tagging
- Self-learning tagging
- Additional document types
  - JPG, PNG, TIFF
  - Plain text
  - HTML
  - Email

### Features not planned

Since we want to keep our focus, the following features are not
planned to become a part of Pepa:

* Support for proprietary and/or very complex file formats. notably
  Microsoft Word, Excel, and Powerpoint. Neither are we planning to
  implement support for documents from LibreOffice or OpenOffice.
  Those formats are not well suited for archiving and good support
  would be too much effort.

Since Pepa is open source, you are of course free to implement those
features yourself.

## Project status

Pepa is currently in an early development stage which means that it's
not ready for production use, yet, as there will be frequent breaking
changes still. You are very welcome to give it a try, though, and we
are happy to receive feedback either via GitHub issues or
{'fraction_non_alphanumeric': 0.04960110995490808, 'fraction_numerical': 0.0, 'mean_word_length': 3.9887543252595155, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6900230', 'n_tokens_mistral': 1568, 'n_tokens_neox': 1468, 'n_words': 896}