{"id":22538186,"url":"https://github.com/cfpb/publish_eccu","last_synced_at":"2025-10-14T18:04:54.931Z","repository":{"id":26900689,"uuid":"30362343","full_name":"cfpb/publish_eccu","owner":"cfpb","description":"Publish ECCU files to Akamai","archived":false,"fork":false,"pushed_at":"2017-07-14T18:56:52.000Z","size":346,"stargazers_count":6,"open_issues_count":1,"forks_count":5,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-10-14T18:04:31.651Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cfpb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-05T15:27:13.000Z","updated_at":"2020-10-25T19:25:11.000Z","dependencies_parsed_at":"2022-09-02T00:51:47.939Z","dependency_job_id":null,"html_url":"https://github.com/cfpb/publish_eccu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cfpb/publish_eccu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fpublish_eccu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fpublish_eccu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fpublish_eccu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fpublish_eccu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cfpb","download_url":"https://codeload.github.com/cfpb/publish_eccu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfpb%2Fpublish_eccu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279020319,"owners_count":26086864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"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":[],"created_at":"2024-12-07T11:10:42.931Z","updated_at":"2025-10-14T18:04:54.913Z","avatar_url":"https://github.com/cfpb.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ECCU Publisher\n\nThis project provides a command-line tool for publishing \"ECCU\" files to Akamai. ECCU is one of several mechanisms for programattically interacting with your Akamai cache. Unfortunately, there appears to be no public-facing dcoumentation of the format. You can publish one or several ECCU files at once, or pass in a list of URL paths that will be converted into the appropriate XML. This project is distributed as a Python package.\n\nCurrent status: 1.0. This appears to solve the problems it, but we will almost certainly learn new things as we move towards actually implementing this.\n\n\n## Dependencies\n\nThis software has only been tested under Python 2.6 and 2.7, on Mac OS X and Linux. It depends on the following Python libraries:\n\n- [Suds](https://fedorahosted.org/suds/)\n- [lxml](http://lxml.de/)\n- [argparse](http://code.google.com/p/argparse/) (if running under Python 2.6)\n\n## Installation\nInto your Django Project:\n```pip install git+https://github.com/cfpb/publish_eccu.git#egg=publish_eccu```\n\n- Include `publish_eccu` as an INSTALLED_APPS\n\nWith PIP:\n\n```pip install [path to downloaded zip file or checkout directory]```\n\nOtherwise:\n\n```bash\ncd [path to checkout directory]\npython setup.py install\n```\n\n## Usage\n\nThere are four important environment variables that must be set.\n\n```bash\nexport AKAMAI_USER=[akamai account name]\nexport AKAMAI_PASSWORD=[akamai_password]\nexport AKAMAI_NOTIFY_EMAIL=[email to recieve success or failure notification]\nexport AKAMAI_HOST=[domain name you are acting on]\n```\n\nThen, to publish already-crafted ECCU XML files, invoke the tool like this:\n\n```bash\npublish_eccu foo.xml bar.xml\n```\n\nThis will combine those files into a single ECCU, before posting.\n\nFor the simplest cases, you can pass URL paths instead of XML files:\n\n```bash\npublish_eccu --simple /about-us/contact /blog/\n```\n\nIf you want to invalidate the root URL of the domain, pass along the --home argument:\n\n\n```bash\npublish_eccu --simple /about-us/contact /blog/ --home\n```\n\nFinally, if you just want to *see* the combined or generated XML, pass the --noop argument:\n\n```bash\npublish_eccu --simple /about-us/contact /blog/ --home --noop\nsuccessfully published:\n---------\n\u003ceccu\u003e\u003cmatch:recursive-dirs  value=\"about-us\"\u003e\u003cmatch:recursive-dirs value=\"contact\"\u003e\u003crevalidate\u003enow\u003c/revalidate\u003e\u003c/match:recursive-dirs\u003e\u003c/match:recursive-dirs\u003e\u003cmatch:recursive-dirs  value=\"blog\"\u003e\u003crevalidate\u003enow\u003c/revalidate\u003e\u003c/match:recursive-dirs\u003e\u003cmatch:this-dir  value=\"This Directory Only\"\u003e\u003cmatch:filename value=\"No File Specified\"\u003e\u003crevalidate\u003enow\u003c/revalidate\u003e\u003c/match:filename\u003e\u003c/match:this-dir\u003e\u003c/eccu\u003e\n```\n## How to test the software\n\nInstall dependencies\n- `pip install -r requirements/test.txt`\n- from the root directory of the project, run the `nosetests` command.\n\n## Known issues\n\nWe'll surely discover some soon!\n\n## Getting help\n\n\nIf you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.\n\n## Getting involved\n\nIf you find this tool useful, (or *almost* useful, pending some particular improvements), get in touch!\nGeneral instructions on _how_ to contribute should be stated with a link to [CONTRIBUTING](CONTRIBUTING.md).\n\n\n----\n\n## Open source licensing info\n1. [TERMS](TERMS.md)\n2. [LICENSE](LICENSE)\n3. [CFPB Source Code Policy](https://github.com/cfpb/source-code-policy/)\n\n\n----\n\n## Credits and references\n\n1. Projects that inspired you\n2. Related projects\n3. Books, papers, talks, or other sources that have meaniginful impact or influence on this project \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfpb%2Fpublish_eccu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcfpb%2Fpublish_eccu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfpb%2Fpublish_eccu/lists"}