{"id":25692540,"url":"https://github.com/pyvec/pyvec.org","last_synced_at":"2025-02-24T23:09:24.069Z","repository":{"id":37733491,"uuid":"1836444","full_name":"pyvec/pyvec.org","owner":"pyvec","description":"Website of Pyvec nonprofit / Webová stránka neziskovky Pyvec","archived":false,"fork":false,"pushed_at":"2024-10-30T04:17:53.000Z","size":20949,"stargazers_count":4,"open_issues_count":6,"forks_count":10,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-10-30T07:20:07.426Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://pyvec.org","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyvec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-06-02T09:52:26.000Z","updated_at":"2024-10-21T07:07:41.000Z","dependencies_parsed_at":"2024-01-13T08:16:56.139Z","dependency_job_id":"f053bdaa-6af3-4d2c-8dbf-d63117e34bf0","html_url":"https://github.com/pyvec/pyvec.org","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyvec%2Fpyvec.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyvec%2Fpyvec.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyvec%2Fpyvec.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyvec%2Fpyvec.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyvec","download_url":"https://codeload.github.com/pyvec/pyvec.org/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240570982,"owners_count":19822412,"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","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":"2025-02-24T23:09:23.537Z","updated_at":"2025-02-24T23:09:24.057Z","avatar_url":"https://github.com/pyvec.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pyvec.org\n\nPyvec homepage.\n\n## Installation\n\nThe code is **Python 3.9**\n\n```sh\n$ pipenv install\n```\n\n## Development\n\nThe site uses [elsa](https://github.com/pyvec/elsa).\n\n- Installation: `pipenv install --dev`\n- Download data from external sources: `pipenv run build`\n- Tests: `pipenv run test`\n- Development server: `pipenv run serve`\n\n### Data and tests\n\nThe site is just a single HTML page rendered on top of some static data.\nHowever, some of the data come from external sources, the data can get quite\ncomplex, and most of the texts need to be translated into two languages.\n\nThe data is stored in multiple YAML files. When these are read, whenever\nan object has just `cs` and `en` properties, it is treated as a \"translated text\"\nand the property corresponding to a currently selected language becomes\nthe actual value in place of the object.\n\nTo keep the complex structure of the YAML files organized and tested,\nthere are schemas written in [JSON Schema](https://json-schema.org/understanding-json-schema/)\n([spec](http://json-schema.org/)). In tests, the YAML files are validated\nagainst the schemas. There is also a couple of additional tests to ensure some\nlogical rules which cannot be easily expressed by JSON Schema.\n\n### External sources\n\nSome data cannot be stored statically in a YAML file. There is a command\n`pipenv run build`, which downloads them from external sources and generates\nrespective static YAML files. This is a separate step, which needs to be done\nbefore developing or deploying the site, otherwise it won't work properly.\n\n### Members\n\nPyvec members are tracked in an internal Google Spreadsheet. The future\nintention is to have the list of members public, but we're not there yet (GDPR).\nSo far only board members are being listed publicly. The `pipenv run build`\ncommand downloads the spreadsheet as CSV and generates the `members_list.yml`\nfile. It also downloads and caches avatars.\n\n### Numbers\n\nThere are stats numbers in [numbers.yml](pyvecorg/data/numbers.yml). They are\nnot calculated on the fly, because for many of them it's either complicated\nor impossible. They need to be updated manually from time to time. Comments\nin the YAML file should give you guidance on when the last update has happened.\n\nThe number of GitHub contributors was calculated by a mighty one-off script\nmade by [@honzajavorek](https://github.com/honzajavorek), which uses GitHub API\nas well as it clones and analyzes all relevant repositories. If you need to update\nthe number,\n\n1. ask him to run the script,\n1. bother him to Open Source the script code.\n\n### Google Drive credentials\n\n1.  Follow the steps in the [gspread guide](https://gspread.readthedocs.io/en/latest/oauth2.html). Instead of Google Drive API, enable Google Sheets API.\n1.  Save the obtained JSON file into the `pyvecorg` package as `google_service_account.json`\n1.  Make sure it is ignored by Git\n1.  Run `cat pyvecorg/google_service_account.json | pbcopy` to copy the JSON into your clipboard (macOS)\n1.  Go to [settings of secrets](https://github.com/pyvec/pyvec.org/settings/secrets)\n1.  Add `GOOGLE_SERVICE_ACCOUNT` secret and paste the JSON from your clipboard as a value\n\n## Deployment\n\nThe site uses [elsa](https://github.com/pyvec/elsa). It gets automatically deployed\nafter any push to the `master` branch.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyvec%2Fpyvec.org","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpyvec%2Fpyvec.org","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyvec%2Fpyvec.org/lists"}