nfcompose
frappe
nfcompose | frappe | |
---|---|---|
6 | 2 | |
32 | 6,521 | |
- | 2.0% | |
8.9 | 10.0 | |
17 days ago | 4 days ago | |
Python | Python | |
Mozilla Public License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nfcompose
-
Implementing system-versioned tables in Postgres
I have implemented this for our tool NF Compose that allows us to build REST APIs without writing a single line of code [0]. I didn't go the route of triggers because we generate database tables automatically and we used to have a crazy versioning scheme that was inspired by data vault and anchor modelling where we stored every change on every attribute as a new record.
Sounded cool, but in practice it was really slow. The techniques that are usually employed by Data Vault to fix this issue seemed too complex. Over time we moved to an implementation that handles the historization dynamically at runtime by generating SQL queries ourselves [1]. On a sidenote: Generating SQL in python sounds dangerous, but we spent a lot of time on making it secure. We even have a linter that checks that everything is escaped properly whenever we are in dev mode [2]
[0] https://github.com/neuroforgede/nfcompose/
- Show HN: NF Compose – An API to Build/Generate REST APIs
- GitHub - neuroforgede/nfcompose: Build REST APIs/Integrations in minutes instead of hours
- GitHub - neuroforgede/nfcompose: NF Compose is a (data) integration platform that allows developers to define REST APIs in seconds instead of hours. Generated REST APIs are backed by postgres and support automatic consumer notifications on data changes out of the box.
-
NF Compose – define REST APIs in seconds instead of hours
As part of our services we also provide support for building integrations between (our) systems and external systems. As we didn't want to keep building the same REST APIs every time, we set out to build a standardized data integratin platform that allows for a quick way to generate user specified REST API definitions via a REST API. This has become NF Compose (https://github.com/neuroforgede/nfcompose).
- Show HN: NF Compose – define REST APIs in seconds instead of minutes
frappe
-
Looking for open-source enthusiast programmers
ERPNext and Frappe Framework.
-
ERPNext Installation Details
$ bench init --frappe-branch version-13 myERPNext $ /home/bpdp/software/python-dev-tools/miniconda39/envs/py39-erpnext/bin/virtualenv -q env -p python3 Getting frappe $ git clone https://github.com/frappe/frappe.git --branch version-13 --depth 1 --origin upstream Kloning ke 'frappe'... remote: Enumerating objects: 2914, done. remote: Counting objects: 100% (2914/2914), done. remote: Compressing objects: 100% (2746/2746), done. remote: Total 2914 (delta 404), reused 1006 (delta 96), pack-reused 0 Menerima objek: 100% (2914/2914), 16.04 MiB | 1.16 MiB/s, done. Menguraikan delta: 100% (404/404), done. Installing frappe $ myERPNext/env/bin/python -m pip install -q -U -e myERPNext/apps/frappe WARNING: You are using pip version 21.2.2; however, version 21.2.3 is available. You should consider upgrading via the '/home/bpdp/kerjaan/erpnext/myERPNext/env/bin/python -m pip install --upgrade pip' command. $ yarn install yarn install v1.22.11 warning ../../../../../../package.json: No license field [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... warning " > [email protected]" has unmet peer dependency "[email protected] - 3". warning " > [email protected]" has unmet peer dependency "popper.js@^1.16.0". warning Workspaces can only be enabled in private projects. [4/4] Building fresh packages... $ yarn run snyk-protect yarn run v1.22.11 warning ../../../../../../package.json: No license field $ snyk protect Successfully applied Snyk patches Done in 11.34s. Done in 239.98s. Updating node packages... Installing node dependencies for frappe $ yarn install yarn install v1.22.11 warning ../../../../../../package.json: No license field [1/4] Resolving packages... success Already up-to-date. $ yarn run snyk-protect yarn run v1.22.11 warning ../../../../../../package.json: No license field $ snyk protect Successfully applied Snyk patches Done in 9.18s. Done in 9.87s. $ bench build An Error occurred while downloading assets... ✔ Application Assets Linked yarn run v1.22.11 warning ../../../../../../package.json: No license field $ FRAPPE_ENV=production node rollup/build.js Production mode ✔ Built js/moment-bundle.min.js ✔ Built js/libs.min.js Building frappe assets... ✔ Built js/checkout.min.js ✔ Built js/dialog.min.js ✔ Built js/web_form.min.js ✔ Built js/user_profile_controller.min.js ✔ Built js/list.min.js ✔ Built js/chat.js ✔ Built js/bootstrap-4-web.min.js ✔ Built js/frappe-recorder.min.js ✔ Built js/barcode_scanner.min.js ✔ Built js/frappe-web.min.js ✔ Built css/report.min.css ✔ Built css-rtl/report.min.css ✔ Built css/frappe-chat-web.css ✔ Built css/web_form.css ✔ Built css-rtl/frappe-chat-web.css ✔ Built css-rtl/web_form.css ✔ Built js/data_import_tools.min.js ✔ Built js/report.min.js ✔ Built css/printview.css ✔ Built css/email.css ✔ Built css/login.css ✔ Built css/frappe-web-b4.css ✔ Built js/desk.min.js ✔ Built js/control.min.js ✔ Built css/desk.min.css ✔ Built css-rtl/frappe-web-b4.css ✔ Built css-rtl/email.css ✔ Built css-rtl/login.css ✔ Built css-rtl/printview.css ✔ Built css-rtl/desk.min.css ✔ Built js/form.min.js ✨ Done in 47.395s Done in 48.40s. SUCCESS: Bench myERPNext initialized $
What are some alternatives?
retake - PostgreSQL for Search [Moved to: https://github.com/paradedb/paradedb]
frappe_docker - Docker images for production and development setups of the Frappe framework and ERPNext
airbyte - The leading data integration platform for ETL / ELT data pipelines from APIs, databases & files to data warehouses, data lakes & data lakehouses. Both self-hosted and Cloud-hosted.
sendgrid-python - The Official Twilio SendGrid Python API Library
sgr - sgr (command line client for Splitgraph) and the splitgraph Python library
ERPNext - Free and Open Source Enterprise Resource Planning (ERP)
nfcompose-examples
helm - Helm Chart Repository for Frappe/ERPNext
webhooks-bridge - A simple webhook receiver that filters, transforms and forwards webhooks
bench - CLI to manage Multi-tenant deployments for Frappe apps
drizzle-pg-notify-audit-table - example project of using pg-notify and custom trigger for audit table
berry - 📦🐈 Active development trunk for Yarn ⚒