semvec/pypi-packages huggingface dataset:
application-builder 0.1.2
manage application data and functionality in one place
License: MIT
Requires Python: >= 3.8

## Application Builder

The goal of application builder is to have a single object that connects `settings` and the current application `environment` in one place. This object can then be used throughout your python application,
as a central spot for checking which environment the application is running under and for gettings settings accordingly. 


## Usage Example

```python
from application_builder.application import Application

# our settings class must support 2 functions `load()` and `settings()`.

class MySettingsManager:

    def __init__(self, env, app_root):
        self._env = env
        self._root = app_root

    def load(self):
        # json/yaml/python files could be loaded here
        self._data = { 
            'test' : { 'db' : 'localhost' },
            'dev' : { 'db' : 'some.server.com' }
        }

    def settings(self):
        return self._data

def settings_init_fn(env: str, app_root: str):
    sm = MySettingsManager(env, app_root)
    return sm

# Let's assume MYAPP_ENV='dev'

myapp = Application(
    name = 'myapp',
    app_env_varname: 'MYAPP_ENV',
    app_root_dir: '/path/to/myapp',

    # sometimes you might need to do a lot more
    # than just instantiate a class, that's why you need to pass a function
    settings_class_init_fn: settings_init_fn
)

myapp.add_path('settings', 'config/settings')
myapp.add_path('data', 'data')

myapp.boot()

myapp.current_environment() # 'dev'

myapp.settings() # { 'db' : 'some.server.com' }

myapp.paths('root') # /path/to/myapp
myapp.paths('settings') # /path/to/myapp/config/settings
myapp.paths('data') # /path/to/myapp/data
```
grm 0.4.0
GitRoom Manager: A command line GitHub classroom manager
License: MIT
Keywords: github organization classroom manager

GitRoom Manager
===============

|Build Status| |PyPI version|

GitRoom Manager allows instructors to more easily manage a GitHub-based
virtual classroom. From within the program, the user can:

-  Initialize student repositories, locally and remotely, from a CSV
   roster and a local master repository
-  Add students to an existing course
-  Add administrators to the course (other instructors)
-  Associate each student with a personal private repository
-  Update student repositories with new course content
-  Pull from/push to student repositories
-  Grade assignments

Requirements
------------

-  Python >= 3.3
-  Git >= 2.0
-  Ownership of a `GitHub Classroom <https://classroom.github.com/>`__
-  `GitHub Personal
   Token <https://help.github.com/articles/creating-an-access-token-for-command-line-use/>`__
   with full permissions
-  Class roster with columns for student: first name, last name, GitHub
   ID

Installation
------------

To install the ``grm`` module, clone the repository to your local
machine and ``cd`` into the top-level directory. From the terminal,
type:

::

    python setup.py install

*NOTE:* You may need to use ``python3`` or ``python3.x`` in place of
``python`` in order to utilize a Python 3.x installation.

You may also install with pip:

.. code:: bash

    pip install grm

*NOTE:* Depending on your installation may need to use ``pip3`` in place of 
``pip``.
   
Usage
-----

You can call GitRoom Manager from within an interactive Python session
by calling:

.. code:: python

    import grm
    grm.main()

The installation also adds an executable script to your path. You can
call GitRoom Manager from terminal using:

.. code:: bash

    $ gitroom

*NOTE:* The command line script is just a wrapper for the first set of
commands above. The script searches your environment for your Python 3.x
interpreter. If it cannot find it, the script may revert to your system
Python interpreter---which is often 2.x---and may fail. If you have
trouble with the command line script, first make sure that your Python
3.x interpreter is in your system path and callable by ``python3``.

Manual
------

A more complete manual for GitRoom Manager can be found at
`btskinner.me/grm <http://btskinner.me/grm>`__



.. |Build Status| image:: https://travis-ci.org/btskinner/grm.svg?branch=master
   :target: https://travis-ci.org/btskinner/grm
.. |PyPI version| image:: https://badge.fury.io/py/grm.svg
   :target: https://badge.fury.io/py/grm
django-with-extra-context-admin 0.1.0
Provide a simple way to add extra context for view rendering in Django's admin site.
License: MIT
Keywords: django admin extentions,django with extra context admin

# django-with-extra-context-admin

Provide a simple way to add extra context for view rendering in Django's admin site.

## Install

```shell
pip install django-with-extra-context-admin
```

## Usage

**Note:**

There is NO need to add app name django_with_extra_context_admin into INSTALLED_APPS. Just install this application and import the admin extention DjangoWithExtraContextAdmin where you need.


**app/admin.py**

```python
from django.contrib import admin
from django_with_extra_context_admin.admin import DjangoWithExtraContextAdmin
from .models import MyModel

class MyModelAdmin(DjangoWithExtraContextAdmin, admin.ModelAdmin):

    django_with_extra_context_admin_view_name = False

    def get_extra_context(self, request, **kwargs):
        extra_context = super().get_extra_context(request, **kwargs) or {}
        extra_context.update({
            ...
            "var1": "value1",
            "var2": "value2",
            ...
        })
        return extra_context

admin.site.register(MyModel, MyModelAdmin)
```

## Where to use?

All admin's default views are inject with the extra context.

- changeform_view
- changelist_view
- delete_view
- history_view
- add_view
- change_view

## Any extra context provided?

By default we always add *django_with_extra_context_admin_view_name* to the extra context. It can be disabled by set add_django_with_extra_context_admin_view_name to False. The value of variable django_with_extra_context_admin_view_name is the the name of current view name, e.g. changeform_view, changelist_view.


## Releases

### v0.1.0 2020/03/13

- First release.
talentlms 1.0.1
TalentLMS API Python library
License: MIT
Requires Python: >=2.7

# TalentLMS API Python library

Python implementation of the [TalentLMS API](https://www.talentlms.com/pages/docs/TalentLMS-API-Documentation.pdf).

Method names correspond one-to-one to API method names but have underscores separating words in API method names.

## Example use

```python
import talentlms

API_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

lms = talentlms.api('example.talentlms.com', API_KEY)

try:
    new_user = lms.user_signup({
        'email': 'jsmith@example.com',
        'first': 'John',
        'last': 'Smith',
        'login' 'jsmith',
        'password': 'XXXXXXXXXXXXX'
    })
    lms.user_set_status(new_user['id'], 'active')
except talentlms.UserAlreadyExistsError:
    pass
```

## Requirements

- Python >= 2.7

## License

MIT

## Credits

Written by [Ivan Butorin](https://github.com/ib1984)