## Manager.management.UserManagement


Usage

``` python
Manager.management.UserManagement(
    repo,
    user,
    project=None,
    db_config_file=None,
    home=os.getcwd(),
    new_user=False,
    new_project=False,
    new_db=False,
    archive=False,
    **kwargs
)
```


## Methods

| Name | Description |
|----|----|
| [__init__()](#__init__) | This is the User Management class, which manages the current users directories. This class has to be paired |

------------------------------------------------------------------------


#### \_\_init\_\_()


This is the User Management class, which manages the current users directories. This class has to be paired


Usage

``` python
__init__(
    repo,
    user,
    project=None,
    db_config_file=None,
    home=os.getcwd(),
    new_user=False,
    new_project=False,
    new_db=False,
    archive=False,
    **kwargs
)
```


with a repository and a user. It gives access to user paths, and provides functionality for creating new projects and new project db_config_file for the current user. It also give the option of creating a new user.

This class maps a users directory, which gives access to directories for db_config_file (NCBI and proprietary), index files for quickly retrieving project data, project log files, user affiliated journal articles, and projects.


##### Parameters


`repo: str`  
The name of the repository.

`user: str`  
The name of the current user if any.

`project: str | None = None`  
The name of the current project if any.

`db_config_file: str | Path | None = None`  
Configuration file for database setup.

`home: str | Path = os.getcwd()`  
The home path of the repository.

`new_user: bool = ``False`  
Flag for creating a new user.

`new_project: bool = ``False`  
Flag for creating a new project.

`new_db: bool = ``False`  
Flag for creating a new database.

`archive: bool = ``False`  
Flag for archiving existing data.
