Skip to content

PopFrame is an open source library that includes methods for modeling the framework of a regional-level settlement system for assessing territories subject to reclamation/renovation, as well as modeling scenarios for changing regional facilities.

License

Notifications You must be signed in to change notification settings

IDUclub/PopFrame

Repository files navigation

PopFrame

PopFrame logo

|PythonVersion| |Black|

PopFrame is an open source library that includes methods for modeling the framework of a regional-level settlement system for assessing territories subject to reclamation/renovation, as well as modeling scenarios for changing regional facilities. The library is designed to form a universal information model of the region based on localities.

Table of Contents

Core features

The library also provides tools for working with the information model of the region, which allow:

  • Calculate indicators (population, birth rate, mortality) by municipal districts and municipalities.
  • Evaluate territories in relation to the framework of the settlement system.
  • Calculating the level of urbanization of the territory.
  • The construction of agglomerations based on the framework of the settlement system

Installation

PopFrame can be installed with pip:

pip install popframe

Examples

Describe examples how it should work and should be used. Images, GIFs and code cells are welcome.

Project Structure

The latest version of the library is available in the main branch.

The repository includes the following directories and modules:

  • popframe - directory with the library code:
    • preprocessing - data preprocessing module
    • models - entities' classes used in library
    • method - library tool methods based on Region model
    • utils - module containing utulity functions and consts
  • tests pytest testing
  • examples examples of how methods work
  • docs - documentation sources

Documentation

Detailed information and description of BlocksNet is available in documentation.

Developing

To start developing the library, one must perform following actions:

  1. Clone the repository:

    $ git clone https://github.com/Mvin8/PopFrame
    
  2. (Optional) Create a virtual environment as the library demands exact package versions:

    $ make venv
    

    Activate the virtual environment if you created one:

    $ source .venv/bin/activate
    
  3. Install the library in editable mode with development dependencies:

    $ make install-dev
    
  4. Install pre-commit hooks:

    $ pre-commit install
    
  5. Create a new branch based on develop:

    $ git checkout -b develop <new_branch_name>
    
  6. Start making changes on your newly created branch, remembering to never work on the master branch! Work on this copy on your computer using Git to do the version control.

  7. Update tests according to your changes and run the following command:

    $ make test
    

    Make sure that all tests pass.

  8. Update the documentation and README according to your changes.

  1. When you're done editing and local testing, run:
$ git add modified_files
$ git commit

to record your changes in Git, then push them to GitHub with:

$ git push -u origin my-contribution

Finally, go to the web page of your fork of the BlocksNet repo, and click 'Pull Request' (PR) to send your changes to the maintainers for review.

Check out the...

License

The project has BSD-3-Clause license

Acknowledgments

The library was developed as the main part of the ITMO University project...

Contacts

You can contact us:

  • NCCR - National Center for Cognitive Research
  • IDU - Institute of Design and Urban Studies
  • Maksim Natykin - lead software engineer

About

PopFrame is an open source library that includes methods for modeling the framework of a regional-level settlement system for assessing territories subject to reclamation/renovation, as well as modeling scenarios for changing regional facilities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 10