{"id":50569498,"url":"https://github.com/cityofaustin/atd-knack-proxy","last_synced_at":"2026-06-04T17:03:58.257Z","repository":{"id":52563490,"uuid":"121689830","full_name":"cityofaustin/atd-knack-proxy","owner":"cityofaustin","description":"A legacy-friendly interface for publishing data to Knack applications.","archived":false,"fork":false,"pushed_at":"2021-04-25T21:24:25.000Z","size":88,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-06-11T16:09:23.464Z","etag":null,"topics":["api","enterprise-service-bus","flask","flask-restful","integration","knack","legacy-application","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cityofaustin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-15T22:19:43.000Z","updated_at":"2021-04-25T21:23:36.000Z","dependencies_parsed_at":"2022-09-06T20:12:23.764Z","dependency_job_id":null,"html_url":"https://github.com/cityofaustin/atd-knack-proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cityofaustin/atd-knack-proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityofaustin%2Fatd-knack-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityofaustin%2Fatd-knack-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityofaustin%2Fatd-knack-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityofaustin%2Fatd-knack-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cityofaustin","download_url":"https://codeload.github.com/cityofaustin/atd-knack-proxy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityofaustin%2Fatd-knack-proxy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33914628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","enterprise-service-bus","flask","flask-restful","integration","knack","legacy-application","python"],"created_at":"2026-06-04T17:03:58.184Z","updated_at":"2026-06-04T17:03:58.242Z","avatar_url":"https://github.com/cityofaustin.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  knack-proxy\n\nA legacy-friendly interface for publishing data to [Knack](http://knack.com) applications.\n\n## Why?\n\nSome legacy systems don't integrate well with \"modern\" applications. Legacy systems might require a self-signed SSL certificate or a static IP address in order to communicate with others. They may even require your downstream application to be on the same network!\n\nKnack-proxy cures these headaches by acting as an intermediary between fussy legacy systems and Knack. Your legacy system will never know the difference!\n\n## Deployment\n\nThis package can deploy on an AWS Lambda function through zappa, for details on how to utilize this framework refer to their documentation here: [https://github.com/Miserlou/Zappa](https://github.com/Miserlou/Zappa)\n\n1. Create a virtual environment: `virtualenv venv`\n2. Load the virtual environment: `source venv/bin/activate`\n3. Install requirements: `pip install -r requirements.txt`\n4. Run these commands:\n\nTake a look at the `zappa_settings.json` file, it includes the necessary configuration to deploy your function. In the configuration file, there are two environments, one for production and another for development. For the sake of this example, let's say we want to deploy/update production:\n\n- If NOT deployed use:\n\n```bash\nzappa deploy production\n``` \n \n- If already deployed and making an update:\n\n```bash\nzappa update production\n```\n\n- If you want to get rid of the function:\n\n```bash\nzappa undeploy production\n```\n\n### Testing \u0026 Development\n\nWhen implementing new code, there are multiple ways to test things:\n1. Run the server locally, e.g.: `python3 __init__.py`\n2. Run the script as a docker container (as described in the quick start steps)\n\n### Deployment Pipeline, Development Lifecycle\n\nThe pipeline is at the moment very simple given the nature of this project; however, there is space for development allocated in the pipeline.\n\nYou simply create a PR branch to merge against master. Master should be thoroughly tested and when ready you would merge master into the production branch via PR as follows: \n\n```\nDev (any PR branch) -\u003e Staging (master branch) -\u003e Production (production branch)\n```\n\n#### Development Branches (PRs)\nAny branch that is made a PR will be deployed to: https://knack-proxy-dev.austintexas.io/ This means that if you have multiple PRs, they will overwrite whatever is currently in that AWS function. Once you are happy with your PR (and test it thoroughly in Dev), you would merge your PR into the master branch.\n\n#### Master Branch\n\nThe master branch is deployed automatically to the staging url: https://knack-proxy-staging.austintexas.io/ Once you are happy with the changes you ahve made, you should create a pull request against production.\n\n#### Production Branch\n\nThe production branch is deployed automatically to the production url: https://knack-proxy.austintexas.io/\n\n## License\n\nAs a work of the City of Austin, this project is in the public domain within the United States.\n\nAdditionally, we waive copyright and related rights in the work worldwide through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcityofaustin%2Fatd-knack-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcityofaustin%2Fatd-knack-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcityofaustin%2Fatd-knack-proxy/lists"}