semvec/pypi-packages huggingface dataset:
bobros 0.2.0
A tool to set file and folder colours in Idea projects
Requires Python: >=3.6,<4.0

Bobros
======
_Making your life a bit more beautiful_

```shell
pip install bobros
bobros --help
```

`bobros` is a tool for setting the background colour for files in PyCharm project
navigator.

It was mainly created for working with Django projects where you can have lots
of app folders, all of which may contain files with identical names like `views`
or `models`, etc. It's much easier to work with them when you can easily 
tell them apart and can easily see where one app ends and another one begins in
your project navigation panel. Colour-coding the app folders makes that task a
lot easier.

However, it turned out that doing that using the standard PyCharm mechanisms is
not that easy. You have to navigate through several settings tabs and do a lot
of clicking and typing. Well, there must be a better way!

Bobros takes a simple config and generates the correct xml files to make your
project files colour-coded. It also supports different colour-themes. 

Sample config file (i.e. `my_config.yml`):
```yaml    
themes:
    dark: # defines colours for a theme named "dark", names can be arbitrary
        one: aabb00 # defines colour "one" to have the hex value of aabb00
        two: bbaa00 # defines colour "two"
    light: # defines colours for a theme named "light". Should contain the same colours as other themes
        one: 99ff88
        two: 9988ee

items: # defines colours for the items on disk
    my_file.py: one
    my_file_2.py: two
    my_folder: one
```

Some special values: 

* `~` The "home" folder: in Django projects the settings folder by default has 
  the same name as the project folder. It's nice to have the settings folder 
  the same colour in all your projects

* `Problems`, `Non-Project Files` special names used by Idea for files/folders
  containing errors or not belonging to the current project
  
To apply a theme in a config, run the following from the root folder of your
project:

```shell
bobros charm my_config.yml -t dark
```

You could also have a less fancy config, without themes:

```yaml    
colors:
    one: aabb00
    two: bbaa00

items:
    my_file.py: one
    my_file_2.py: two
    my_folder: one
```

To apply this config, run 

```shell
bobros charm my_config.yml
```

It is an error to try to apply a config with themes and not providing a theme
name on the command line (i.e. the `-t` option), to specify a non-existing 
theme or to use a config without themes and providing the `-t` option on the 
command line.

Generating colours
------------------
I like my files to have colours of the same saturation and luminance, but 
of different hues, so bobros has a command to generate such colours from a
given initial colour: 

```shell
bobros make-colors b1e3be --points 10
```

This will generate 10 such colours, you can then copy the values to your 
config file and assign them to your items.

Checking configs
----------------
You can run 
```shell
bobross check my_config.yml
```
from the root of a PyCharm (or Idea) project. For now, it will check if the 
config specifies files that do not exist in the actual project.
desktop-notify 1.3.3
Util for sending desktop notifications over dbus.
Requires Python: >=3.8

# DESKTOP-NOTIFY

Util for sending desktop notifications over dbus. Supports replace_id, hints and actions(mainloop required).

## Package usage

### Basic notify:
```python
notify = desktop_notify.aio.Notify('summary', 'body')
await notify.show()
```
```python
notify = desktop_notify.glib.Notify('summary', 'body')
notify.set_on_show(callback) # optional
notify.show()
# or
notify.show_async()
```

### Usage with server:
```python
server = desktop_notify.aio.Server('app_name')
notify = server.Notify('summary')
await notify.show()
```
### Configure notify.
You can setnotify options by default property setter `notify.body = 'body'` or using fluent setters:
```python
notify.set_id(0)\
	.set_icon('icon')\
	.set_timeout(10000) # ms
```

### Extra options

#### Hints

For workings with hints use this methods:

```python
notify.set_hint(key, value)
notify.get_hint(key)
notify.del_hint(key)
```

#### Actions

**For using actions and event you need to specify notify server mainloop.**

You can add or delete action:

```python
notify.add_action(desktop_notify.Action('label', callback))
notify.del_action(desktop_notify.Action('label', callback))
```

Also supported `on_show` and `on_close` event:

```python
notify.set_on_show(callback(notify))
notify.set_on_close(callback(notify, close_reason))
```

## Console usage

```bash
usage: desktop-notify [--help] [--icon ICON] [--id REPLACE_ID] [--timeout TIMEOUT]
               [--hints key:value [key:value ...]]
               Summary [Body]

Send desktop notification. Returns created notification's id.

positional arguments:
  Summary               The summary text briefly describing the notification.
  Body                  The optional detailed body text. Can be empty.

optional arguments:
  --help                show this help message and exit
  --icon ICON, -i ICON  The optional program icon of the calling application.
                        Should be either a file path or a name in a
                        freedesktop.org-compliant icon theme.
  --id REPLACE_ID       An optional ID of an existing notification that this
                        notification is intended to replace.
  --timeout TIMEOUT, -t TIMEOUT
                        The timeout time in milliseconds since the display of
                        the notification at which the notification should
                        automatically close.
  --hints key:signature:value [key:signature:value ...], -h key:signature:value [key:signature:value ...]
                        use "--" to separate hints list from positional args
```