{"id":34304379,"url":"https://github.com/chicagopython/chipy.org","last_synced_at":"2025-12-17T07:51:11.543Z","repository":{"id":3305978,"uuid":"4348048","full_name":"chicagopython/chipy.org","owner":"chicagopython","description":"Chicago Python (ChiPy) user group main website codebase","archived":false,"fork":false,"pushed_at":"2025-11-24T19:15:36.000Z","size":5605,"stargazers_count":122,"open_issues_count":51,"forks_count":83,"subscribers_count":27,"default_branch":"main","last_synced_at":"2025-11-28T07:25:58.581Z","etag":null,"topics":["chicago","chipy","python","usergroup"],"latest_commit_sha":null,"homepage":"http://www.chipy.org/","language":"Python","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/chicagopython.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2012-05-16T14:47:15.000Z","updated_at":"2025-10-10T12:04:44.000Z","dependencies_parsed_at":"2023-11-15T04:25:32.474Z","dependency_job_id":"69dae378-a5c5-4420-8e46-4cf48d1fcc98","html_url":"https://github.com/chicagopython/chipy.org","commit_stats":{"total_commits":869,"total_committers":40,"mean_commits":21.725,"dds":0.6006904487917146,"last_synced_commit":"6050c63028acc4e78c02b71140364c905ff3993f"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/chicagopython/chipy.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chicagopython%2Fchipy.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chicagopython%2Fchipy.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chicagopython%2Fchipy.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chicagopython%2Fchipy.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chicagopython","download_url":"https://codeload.github.com/chicagopython/chipy.org/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chicagopython%2Fchipy.org/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27779776,"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-12-17T02:00:08.291Z","response_time":55,"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":["chicago","chipy","python","usergroup"],"created_at":"2025-12-17T07:51:10.962Z","updated_at":"2025-12-17T07:51:11.534Z","avatar_url":"https://github.com/chicagopython.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chipy.org\n\nThis is the code for the Chipy.org website.\nThis project is open source, and the license can be found in LICENSE.\n\n[![CircleCI](https://circleci.com/gh/chicagopython/chipy.org/tree/master.svg?style=svg)](https://circleci.com/gh/chicagopython/chipy.org/tree/master)\n\nChipy.org uses the [12factor](http://12factor.net) methodology. The site is\nnormally powered by Heroku, but you can use Docker and Docker Compose for\nlocal development.\n\n## Installation\n\nTo get setup with chipy.org code, it is recommended that you use the following:\n\nFor Mac and Linux:\n\n- Docker - https://docs.docker.com/install/\n- Docker Compose - https://docs.docker.com/compose/install/\n- Make - https://www.gnu.org/software/make/\n\nFor Windows 10 Pro 64-bit, Windows 10 Home 64-bit:\n\n- Docker Desktop - https://docs.docker.com/docker-for-windows/install/\n- Chocolatey - https://chocolatey.org/install (package manager used to install Make)\n\n### Using Chocolatey to install Make\n\nFor Windows users, we recommend using the package manager Chocolatey to install Make.\n\n1. Install Chocolatey from https://chocolatey.org/install . Open Powershell as administrator when following the instructions.\n\n2. Once Chocolatey is installed, run the following command in Powershell (as administrator):\n\n   `choco install make`\n\n## Setting up a Local Development Environment using Docker\n\n_Note: For a list of steps on how to make your first contribution, see [CONTRIBUTING.md](CONTRIBUTING.md)._\n\nFirst, sign into your GitHub account. Make a fork of the ChiPy repo at https://github.com/chicagopython/chipy.org by going there and clicking \"Fork\" on the upper right corner.\n\nClone this forked repo to your local computer (replace your GitHub username without the brackets):\n\n    git clone https://github.com/\u003cyour-GitHub-username\u003e/chipy.org.git chipy.org\n\nMake the project directory your working directory:\n\n    cd chipy.org\n\n**Note: The `make` commands require Make to be installed, and Docker must be running. Please follow the [Installation](#installation) guide before running the below steps**\n\nRun the setup command to configure the environment. This will copy\na default configuration file from docker/docker.env.sample to\ndocker/docker.env.\n\n    make setup_env\n\nYou may customize the docker/docker.env as needed for your development needs.\nThe docker/docker.env file should NOT be committed to version control.\n\nTo start the app, you can run the following command. This will start\nup the web app and a database as services using docker-compose.\n\n    make up\n\nAfter running `make up`, you need to migrate the database. This will\ncreate the tables and database objects needed to run the site.\n\n    make migrate\n\nYou can confirm that the migrations were successful. To do this, run `make shell` , which gives you a Bash shell within Docker. Then run `python manage.py showmigrations` . This shows a list of all the migrations. Make sure each migration has a marked checkbox, such as `[X] 0001_initial` . Then exit out of the shell by typing `exit` .\n\nNext, you should create a superuser to use to login to the site admin with.\n\n    make superuser\n\nFinally, you should be able to visit your site by entering the\nfollowing in your url bar:\n\n    http://localhost:8000\n\nFor local development, Social Auth will be disabled by default. Therefore,\nto log into the Django Admin interface, you will need to visit the following\nurl and login with the superuser credentials that you created above.\n\n     http://localhost:8000/admin/\n\nChipy.org uses Pytest to help ensure code is working properly.\nAll tests must pass before merging code, and tests should be added as\nnew functionality is added.\nIf you would like to run tests for the app, run the following:\n\n    make test\n\nChipy.org uses ruff to have consistently formatted code. We also use isort to\narrange import statements correctly. Code should be formatted before merging code.\nIf you would like to format code, run the following:\n\n    make format\n\nNote: the command `make format` overwrites your files. \nAlso, that command will format your entire local repo, not only the files that you may have created or edited. \nAs a result, if it formats old, unformatted code, that will show up as a diff in your pull request. \nTo see a preview of what formatted code would look without overwriting your files, run the following:\n\n    make format-check\n\nIf you want to execute a shell into your container, run the following:\nonce your app is running with `make up`:\n\n    make shell\n\nIf you want to see the application logs, use the following command. To stop\nviewing the logs, you can press ctl-c.\n\n    make tail-logs\n\nThe site is pretty bare when there is no data in the database. Use the below\nto create some data in the database.\n\n    make dev-data\n\nTo run an arbitrary Django management command, you can use the following form.\nThe below example shows you how to run the `help` management command, but\nother Django management commands can be run the same way.\n\n    docker-compose exec web ./manage.py help\n\n## Heroku Commands\n\nThis application is deployed to production using Heroku. You should not need\nto use these for basic site development, but are provided here as a guide for\npeople deploying the site to Heroku.\n\n    # Tag the release\n    git tag -m x.x.x x.x.x\n    git push --tags\n\n    # Deploy changes to master\n    git push heroku master\n\n    # Collectstatic\n    heroku run python manage.py collectstatic --noinput\n\n    # Set sync and migrate the database\n    heroku run python manage.py migrate\n\n    # Set environment variable on Heroku\n    heroku config:set DEBUG=False\n\n### Heroku Testing\n\nIt is recommended that you deploy to a personal Heroku account to test, but\nregardless you can deploy a feature branch with the following command:\n\n    # Deploy feature branch\n    git push heroku feature/mybranch:master\n\n### Installing a new Package\n\nWe use the pip-tools to manage our python dependencies.\nYou will need a virtual environment using the correct python version and have pip-tools installed to update packages.\n\nTo add a new python package add the package to the pyproject.toml.\nNow run the following from the project directory:\n\n    # Updates requirements.txt\n    pip-compile --output-file=requirements.txt pyproject.toml\n\n    # Update dev-requirments.txt\n    pip-compile --constraint=requirements.txt --extra=dev --output-file=dev-requirements.txt pyproject.toml\n\nThese `pip-compile` commands will update the requirements.txt and dev-requirements.txt respectively.\nIf you are using a local .venv to help your editor support completions, run this command to sync the dev-requirements.\n\n    # Syncs the packages in the active pip-env\n    pip-sync dev-requirements.txt\n\nThat's the basics.\nIf you need to manage packages beyond this please see the `pip-tools` documentation at https://github.com/jazzband/pip-tools\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchicagopython%2Fchipy.org","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchicagopython%2Fchipy.org","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchicagopython%2Fchipy.org/lists"}