semvec/pypi-packages huggingface dataset:
sstp-server 0.7.2
Secure Socket Tunneling Protocol (SSTP) VPN server.
Requires Python: >=3.12

sstp-server
============
|PyPI version|

A Secure Socket Tunneling Protocol (SSTP) server implemented by Python.


Requirements
------------

* Python >= 3.12
* pppd

**Crypto Binding** is supported using *SSTP ppp API* plug-in
sstp-pppd-plugin.so from
`sstp-client <http://sstp-client.sourceforge.net/>`_.

Install
-------

For a quick test, you can use `uv <https://docs.astral.sh/uv/>`_ to run it:
::

    uvx --from sstp-server sstpd --help


Run unreleased GitHub version with uvx:
::

    uvx --from git+https://github.com/sorz/sstp-server sstpd --help


Traditional pip install is also possible:
::

    pip install sstp-server
    sstpd --help


For a production deployment, you may want create virutal env fisrt,
then run sstpd with a service manager e.g. systemd.

Arch Linux user may install
`sstp-server <https://aur.archlinux.org/packages/sstp-server/>`_
package from AUR.

If you share the authentication with services other than SSTP
(for example, a RADIUS server that serve both a SSTP and WiFi
authentication), `crypto binding <https://docs.microsoft.com/en-us/openspecs/
windows_protocols/ms-sstp/89a68310-0b1e-451b-af9c-0c9ce500bb2e>`_
is required to prevent MITM attacks. Crypto binding is enabled
automatically if `sstp-pppd-plugin.so` is avaliable, see
`#37 <https://github.com/sorz/sstp-server/pull/37
#issuecomment-761107420>`_ for instructions.

Usage
-----

Create pppd configure file `/etc/ppp/options.sstpd`,

A example:
::

        name sstpd
        require-mschap-v2
        nologfd
        nodefaultroute
        ms-dns 8.8.8.8
        ms-dns 8.8.4.4

Start server:

.. code:: bash

    sudo sstpd -p 443 -c cert.pem -k key.pem --local 10.0.0.1 --remote 10.0.0.0/24

Or:

.. code:: bash

    sudo sstpd -f /path/to/sstpd-server.ini -s site1

Known Issues
------------

- High CPU usage, may not suitable for high thougthput applications.



.. |PyPI version| image:: https://img.shields.io/pypi/v/sstp-server.svg?style=flat
        :target: https://pypi.python.org/pypi/sstp-server
bookshelf-manager 0.7.2.1
A virtual librarian to manage your books in one place.
Requires Python: >=3.10
Keywords: book organizer, bookshelf, dewey, dewey decimal system, digital transition, knowledge, librarian, library, library classification system, library of congress, loc, manager, organizer, virtual

# Librarian
Librarian is a Library Management Software (LMS) designed exclusively for use in the command-line. It has many great features, such as chatting with a LLM using semantic search results. The software currently supports addition, removal, and editing of book entires in the book catalog, a file that keeps track of all the items in the library. The library's folder structure follows the Dewey Decimal System (DDS), which makes it much more familiar and easy to access library items. Moving on, the main purpose of this LMS system is to enable the centralization of knowledge through the use of the library catalog and to ease the process of researching and accessing knowledge through the feature of semantic search.
Semantic search enables users to find relevant books based on natural language queries. This allows users to find books much easier than using index-based search which only returns relevant results based on text matching. This LMS is designed primarily to exploit the advantages of semantic search and use its potential in making knowledge more accessible.

## How to Install
```
pip install bookshelf-manager
```

## How to use
It is possible to launch librarian by typing either 'librarian' or 'bookshelf-manager' in the terminal and hitting enter.
```
>>> :help
Commands:
  :add [path]               Adds a book to the library given by the path
  :clear                    Clears the console window
  :edit [id]                Edits the book's metadata
  :exam                     Creates an exam by randomly picking 3 books in the library and generates questions based off of it
  :go [#]                   Opens the file based on the search result #
  :help                     Displays a list of commands
  :info [#]                 Shows metadata about a given book identified by search result #
  :legal                    Shows all the legal notices
  :question [prompt]        Prompts the llm with context from ordinary search
  :remove [id]              Removes the book idenitifed by id from the book catalog
  :sync                     Sync library contents between local lan devices
```

## To-Do
- Add sync capability via localhost through the use of python sockets
- Switch over to Foundry Local for AI models
- Allow other library classification systems like Library of Congress Classification (LCC)

## Credits
Due to the generous work of the authors in the following repositories, this software is made possible.
- [llama-cpp-python](https://github.com/abetlen/llama-cpp-python)
- [langchain](https://github.com/langchain-ai/langchain)