Estructuración de proyectos de Python sin piratería

Tengo una biblioteca python compartida que uso en varios proyectos, por lo que la estructura se ve así:

Project1
    main.py <--- (One of the projects that uses the library)
...
sharedlib
    __init__.py
    ps_lib.py
    another.py

Ahora en cada proyectomain.py Utilizo el siguiente truco para que funcione:

import os
import sys
sys.path.insert(0, os.path.abspath('..'))

import sharedlib.ps_lib
...

¿Hay alguna manera de hacerlo sin usar este truco? ¿O hay una mejor manera de organizar la estructura de los proyectos?

Respuestas a la pregunta(3)

Su respuesta a la pregunta