SHELLSPEC calculates lightcurves, spectra and images of interacting binaries and extrasolar planets immersed in a moving circumstellar environment which is optically thin. It solves simple radiative transfer along the line of sight in moving media. The assumptions include LTE and optional known state quantities and velocity fields in 3D. Optional (non)transparent objects such as a spot, disc, stream, jet, shell or stars as well as an empty space may be defined (embedded) in 3D and their composite synthetic spectrum calculated. Roche model can be used as a boundary condition for the radiative tranfer. A related code based on SHELLSPEC, Pyshellspec (ascl:2106.006), solves the inverse problem of finding the stellar and orbital parameters.