Skip to content

Application template for the ENPM611 class project. Please do not try to commit changes to this repository. Always create a fork.

Notifications You must be signed in to change notification settings

enpm611/project-application-template

Repository files navigation

ENPM611 Project Application Template

This is the template for the ENPM611 class project. Use this template in conjunction with the provided data to implement an application that analyzes GitHub issues for the poetry Open Source project and generates interesting insights.

This application template implements some of the basic functions:

  • data_loader.py: Utility to load the issues from the provided data file and returns the issues in a runtime data structure (e.g., objects)
  • model.py: Implements the data model into which the data file is loaded. The data can then be accessed by accessing the fields of objects.
  • config.py: Supports configuring the application via the config.json file. You can add other configuration paramters to the config.json file.
  • run.py: This is the module that will be invoked to run your application. Based on the --feature command line parameter, one of the three analyses you implemented will be run. You need to extend this module to call other analyses.

With the utility functions provided, you should focus on implementing creative analyses that generate intersting and insightful insights.

In addition to the utility functions, an example analysis has also been implemented in example_analysis.py. It illustrates how to use the provided utility functions and how to produce output.

Setup

To get started, your team should create a fork of this repository. Then, every team member should clone your repository to their local computer.

Install dependencies

In the root directory of the application, create a virtual environment, activate that environment, and install the dependencies like so:

pip install -r requirements.txt

Download and configure the data file

Download the data file (in json format) from the project assignment in Canvas and update the config.json with the path to the file. Note, you can also specify an environment variable by the same name as the config setting (ENPM611_PROJECT_DATA_PATH) to avoid committing your personal path to the repository.

Run an analysis

With everything set up, you should be able to run the existing example analysis:

python run.py --feature 0

That will output basic information about the issues to the command line.

VSCode run configuration

To make the application easier to debug, runtime configurations are provided to run each of the analyses you are implementing. When you click on the run button in the left-hand side toolbar, you can select to run one of the three analyses or run the file you are currently viewing. That makes debugging a little easier. This run configuration is specified in the .vscode/launch.json if you want to modify it.

The .vscode/settings.json also customizes the VSCode user interface sligthly to make navigation and debugging easier. But that is a matter of preference and can be turned off by removing the appropriate settings.

About

Application template for the ENPM611 class project. Please do not try to commit changes to this repository. Always create a fork.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages