An open source alternative front-end to Instructables.
Kumi
eb85c1c7fa
This commit makes several refinements across the main.py file for better readability and performance: - Simplified the import statements by removing unused imports, such as `ConfigParser` and `stream_with_context`, and consolidating uses of `urllib.parse`. - Enhanced code clarity by replacing `!= None` checks with the more Pythonic `is not None` for better readability and to adhere to PEP 8 recommendations. - Omitted redundant variable assignments in functions where the variables were declared but not meaningfully used, focusing the logic and reducing memory usage slightly. - Corrected a logical error in an if condition by ensuring a proper membership test with `"embedType" not in "file"` making the code not only more readable but also preventing potential bugs. Together, these changes make the codebase leaner, more maintainable, and compliant with best practices. |
||
---|---|---|
static | ||
templates | ||
.gitignore | ||
cronjob.txt | ||
LICENSE | ||
main.py | ||
README.md | ||
requirements.txt |
Structables
An open source alternative front-end to Instructables. This is a fork of snowcatridge10's Indestructables to get rid of Selenium. Indestructables itself is a fork of Cobra's Destructables.Instances
URL | Provided by | Country | Comments |
---|---|---|---|
https://structables.private.coffee/ | Private.coffee | Austria |
Run your own instance
Dependencies
First, create a virtual environment with python3 -m venv venv
and activate it with source venv/bin/activate
. Then, install the dependencies with:
pip3 install -r requirements.txt
.
For the production environment, you also need the uWSGI Python3 plugin. On Debian, it can be installed via apt install uwsgi-plugin-python3
Production
- Clone the repository
- Run
uwsgi --plugin python3 --http-socket 0.0.0.0:8002 --wsgi-file main.py --callable app --processes 4 --threads 2
- Point your reverse proxy to http://localhost:8002
Development
- Clone the repository
- Run
python3 main.py
- Connect to http://localhost:8002
License
This project, as well as the two projects it is based on, are licensed under the GNU Affero General Public License v3. See the LICENSE file for more information.