Metadata-Version: 2.1
Name: retk
Version: 0.2.9
Summary: keep and reuse your thoughts
Home-page: https://github.com/MorvanZhou/rethink
Author: MorvanZhou
Author-email: morvanzhou@hotmail.com
Project-URL: Bug Tracker, https://github.com/MorvanZhou/rethink/issues
Project-URL: Source, https://github.com/MorvanZhou/rethink
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi<1.0.0,>=0.95.2
Requires-Dist: pydantic[email]>=2.1.1
Requires-Dist: pydantic-settings~=2.0.3
Requires-Dist: uvicorn[standard]<1.0.0,>=0.23.2
Requires-Dist: pyjwt[crypto]~=2.8.0
Requires-Dist: bcrypt~=4.0.1
Requires-Dist: sortedcontainers<3.0,>=2.3
Requires-Dist: pymongo>=4.6.0
Requires-Dist: markdown>=3.4.4
Requires-Dist: oauthlib>=3.2.2
Requires-Dist: httpx>=0.25.0
Requires-Dist: captcha>=0.5.0
Requires-Dist: python-multipart>=0.0.6
Requires-Dist: whoosh~=2.7.4
Requires-Dist: jieba>=0.42.1
Requires-Dist: starlette>=0.27.0
Requires-Dist: jinja2~=3.1.3
Requires-Dist: apscheduler~=3.10.4
Provides-Extra: build
Requires-Dist: tox==3.24.3; extra == "build"
Requires-Dist: tox-conda; extra == "build"
Requires-Dist: build; extra == "build"
Requires-Dist: twine; extra == "build"
Requires-Dist: pylint; extra == "build"
Provides-Extra: remote
Requires-Dist: motor>=3.3.2; extra == "remote"
Requires-Dist: elasticsearch[async]~=8.11.0; extra == "remote"
Requires-Dist: cos-python-sdk-v5~=1.9.26; extra == "remote"

# Rethink

[![Unittest](https://github.com/MorvanZhou/rethink/actions/workflows/python-tests.yml/badge.svg)](https://github.com/MorvanZhou/rethink/actions/workflows/python-tests.yml)
[![License](https://img.shields.io/github/license/MorvanZhou/rethink)](https://github.com/MorvanZhou/rethink/blob/master/LICENSE)
<a href="https://pypi.org/project/retk" target="_blank">
<img src="https://img.shields.io/pypi/v/retk?color=%2334D058&label=pypi%20package" alt="Package version">
</a>
<a href="https://pypi.org/project/retk" target="_blank">
<img src="https://img.shields.io/pypi/pyversions/retk.svg?color=%2334D058" alt="Supported Python versions">
</a>

<p align="center">
  <strong>English</strong> | <a href="README_ZH.md" target="_blank">简体中文</a>
</p>

Rethink is a new understanding of self-developing.

Every time a new thought is recorded,
the relevant old thought will automatically emerge,
cross-connect, and continuously analogize and upgrade cognition.

The official web version can be found at [https://rethink.run](https://rethink.run).

![demo](https://github.com/MorvanZhou/rethink/raw/main/img/demo.gif)

## Let ideas find you rather than you find them

Let people who love to record with no useless thought.
Even with a continuous stream of input, you don't need to worry about finding it.

We introduce a recommendation mechanism that allows old records to come back while recording a new thought.
Making the new thought more connectable and memorable.

## Features

1. **Bi-directional links**: To @ link in the note with one click;
2. **Markdown syntax**: Seamless support for Markdown syntax;
3. **Automatic association**: Automatically recommend related notes while writing,
   actively assist you in forming a knowledge network.
4. **Local storage**: Rethink attaches great importance to data security.
   You can store data in a local storage.
   Or the online version [https://rethink.run](https://rethink.run),
   which makes it easy to synchronize across multiple platforms.
5. **Multi-language**: Support multiple languages, including Chinese and English.

## Deploy by Docker

1. Pull the image:

```shell
docker pull morvanzhou/rethink
```

2. Run the container:

For keeping your data safe, you should mount a local path to the container.

```shell
docker run -p 8080:8080 -v /your/data/path:/app/.data morvanzhou/rethink
```

Then you can visit `http://127.0.0.1:8080` in your browser.

If you want to define another host's port, you have to also add an environment variable `API_URL`:

```shell
docker run -e API_URL=http://127.0.0.1:8001 -p 8001:8080 -v /your/data/path:/app/.data morvanzhou/rethink
```

If you want to set a password for authorization, you have to also add a environment variable `APP_PASSWORD`:

```shell
docker run -e APP_PASSWORD=12345678 -p 8080:8080 -v /your/data/path:/app/.data morvanzhou/rethink
```

All environment variables:

- `API_URL`: the API url in app js code, default is `http://127.0.0.1:8080`
- `APP_PASSWORD`: authorization password, default is None
- `APP_LANGUAGE`: language, default is English, optional: zh, en

## Use Python and pip to install

The second way to use Rethink is to install it via pip.

First install:

```shell
pip install retk
```

To update:

```shell
pip install -U retk
```

## Usage

Quickly start the note web service with `retk.run()`, and save your note data locally,
The default save path is the `.data` folder under the path of this script:

```python
import retk

retk.run()
```

If you need to customize settings, you can set the parameters in `retk.run()`:

```python
import retk

retk.run(
   path='.',  # path to store notes, default is current directory
   host="127.0.0.1",  # host ip, default is localhost
   port=8080,  # port number, default is 8080
   language="zh",  # language, default is English, optional: zh, en
   password="12345678",  # authorization password, default is None
   headless=False,  # set True to not auto open browser, default is False
   debug=False,  # set True to print debug info, default is False
)
```

All notes will be stored in the path specified by `path`,
and the `.data` folder will be created in your `path` directory.

English and Chinese languages are supported, and the default is English `en`.
If you want to use Chinese `zh`, you can use `language="zh"` parameter.

Open your browser and visit `http://127.0.0.1:8080` to start recording your ideas.

## Star History

<a href="https://star-history.com/?utm_source=bestxtools.com#MorvanZhou/rethink&Date">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=MorvanZhou/rethink&type=Date&theme=dark" />
    <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=MorvanZhou/rethink&type=Date" />
    <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=MorvanZhou/rethink&type=Date" />
  </picture>
</a>

