From a4e122f4ea4a5c4892e0e21ccbf9634eb0dadd21 Mon Sep 17 00:00:00 2001 From: Kodjo Sossouvi Date: Wed, 22 Oct 2025 08:54:01 +0200 Subject: [PATCH] Initial commit --- .gitignore | 210 ++++++++++++++++++ .idea/.gitignore | 8 + .idea/MyFastHtml.iml | 11 + .idea/inspectionProfiles/Project_Default.xml | 16 ++ .../inspectionProfiles/profiles_settings.xml | 6 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + LICENCE | 21 ++ Makefile | 18 ++ README.md | 3 + pyproject.toml | 66 ++++++ src/__init__.py | 0 src/myfasthtml/__init__.py | 0 tests/__init__.py | 0 14 files changed, 373 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/MyFastHtml.iml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 LICENCE create mode 100644 Makefile create mode 100644 README.md create mode 100644 pyproject.toml create mode 100644 src/__init__.py create mode 100644 src/myfasthtml/__init__.py create mode 100644 tests/__init__.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4d06a41 --- /dev/null +++ b/.gitignore @@ -0,0 +1,210 @@ +__pycache__ +app.egg-info +*.pyc +.mypy_cache +.coverage +htmlcov +.cache +.venv +tests/settings_from_unit_testing.json +tests/TestDBEngineRoot +tests/*.png +src/*.png +tests/*.html +tests/*.txt +test-results +.sesskey +tools.db +.mytools_db +.idea/MyManagingTools.iml +.idea/misc.xml +.idea/dataSources.xml +.idea/sqldialects.xml +.idea_bak +**/*.prof + +# Created by .ignore support plugin (hsz.mobi) +### Python template +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# IPython Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# dotenv +.env + +# virtualenv +venv/ +ENV/ + +# Spyder project settings +.spyderproject + +# Rope project settings +.ropeproject +### VirtualEnv template +# Virtualenv +# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/ +[Bb]in +[Ii]nclude +[Ll]ib +[Ll]ib64 +[Ll]ocal +[Ss]cripts +pyvenv.cfg +.venv +pip-selfcheck.json + +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +# idea folder, uncomment if you don't need it +# .idea diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..1c2fda5 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/MyFastHtml.iml b/.idea/MyFastHtml.iml new file mode 100644 index 0000000..86d2b9e --- /dev/null +++ b/.idea/MyFastHtml.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..2bcd2f0 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..d58db82 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..c8397c9 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/LICENCE b/LICENCE new file mode 100644 index 0000000..9333491 --- /dev/null +++ b/LICENCE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Kodjo Sossouvi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d4147ca --- /dev/null +++ b/Makefile @@ -0,0 +1,18 @@ +# Makefile for cleaning packaging files and directories + +.PHONY: clean-package clean-build clean + +# Clean distribution artifacts (dist/ and *.egg-info) +clean-package: + rm -rf dist + rm -rf *.egg-info + rm -rf src/*.egg-info + +# Clean all Python build artifacts (dist, egg-info, pyc, and cache files) +clean-build: clean-package + find . -name "__pycache__" -type d -exec rm -rf {} + + find . -name "*.pyc" -exec rm -f {} + + find . -name "*.pyo" -exec rm -f {} + + +# Alias to clean everything +clean: clean-build \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..22189e0 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# MyFastHtml Module + +Set of tools to quickly create HTML pages using FastHTML. \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..a610683 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,66 @@ +# File: pyproject.toml + +[build-system] +# Define the build system requirements +requires = ["setuptools>=80.9", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "myfasthtml" +version = "0.1.0" +description = "Set of tools to quickly create HTML pages using FastHTML." +readme = "README.md" +authors = [ + { name = "Kodjo Sossouvi", email = "kodjo.sossouvi@gmail.com" }, +] +maintainers = [ + { name = "Kodjo Sossouvi", email = "kodjo.sossouvi@gmail.com" } +] +license = "MIT" +requires-python = ">=3.12" +classifiers = [ + "Operating System :: OS Independent", + "Framework :: FastAPI", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.12", + "Topic :: Auth", +] + +# ------------------------------------------------------------------- +# Core dependencies from your README +# Note: 'requirements.txt' is for development, this is for the package +# ------------------------------------------------------------------- +dependencies = [ + "myauth", + "myutils", +] + +[project.urls] +# Optional: Link to your internal repository or documentation +Homepage = "https://gitea.sheerka.synology.me/kodjo/MyFastHtml" +Documentation = "https://gitea.sheerka.synology.me/kodjo/MyFastHtml#readme" +Repository = "https://gitea.sheerka.synology.me/kodjo/MyFastHtml" +Issues = "https://gitea.sheerka.synology.me/kodjo/MyFastHtml/issues" + +# ------------------------------------------------------------------- +# Optional dependencies ("extras") +# This allows users to install only what they need, e.g.: +# pip install myauth[mongodb,email] +# ------------------------------------------------------------------- +[project.optional-dependencies] +# For development and testing (from your requirements.txt) +dev = [ + "pytest", + "httpx", + "anyio", + "email-validator", + "python-dotenv" +] + +# ------------------------------------------------------------------- +# Setuptools configuration +# This section tells the build system where to find your package code +# ------------------------------------------------------------------- +[tool.setuptools] +package-dir = {"" = "src"} +packages = ["myfasthtml"] diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/myfasthtml/__init__.py b/src/myfasthtml/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29