pman

A Python package to help bootstrap and manage Panda3D applications

MIT License

Downloads
1.3K
Stars
18
Committers
2
pman - v0.16.0 Latest Release

Published by Moguri 12 months ago

Plugins

General

  • Switch from pkg_resources to importlib.metadata to support Python 3.12
  • Fix plugins directory being missing from wheels

blend2bam

  • Expose --textures flag
  • Fix setting --animations flag
  • Display blend2bam stdout if --verbose is set
  • Always display blend2bam stderr if present

Build

  • Use Rich to provide a nicer visual of the build process (e.g., progress bars, checkmarks)
  • Build tasks now run in parallel
pman - v0.15.1

Published by Moguri about 1 year ago

Templates

  • Set project.name to game in pyproject.toml
pman - v0.15.0

Published by Moguri about 1 year ago

Core

  • Replace converters with a generic plugin system

Config

  • pman no longer writes/manages config files (other than at project creation)
  • swtich from venderized toml library to tomli
  • remove explicit layers (config just gets merged together now that pman is not trying to figure out where to write to)

dist

  • pman dist now explicitly runs build instead of relying on a custom build_apps setuptools command (this requires using pman dist instead of running setup.py build_apps directly
  • Added build_installers option to config
  • pman dist can now automatically create the necessary requirements.txt and setup.py for build_apps from a pyproject.toml file (store build_apps options in tool.pman.build_apps)
  • Add a setuptools hook to automatically handle configuration for export directory (configures include_patterns and rename_paths) and mainfile (create an entry in gui_apps)

Template

  • Switch from setup.py/setup.cfg/requirements.txt to a single pyproject.toml
  • Remove pylint setup (let users decide on a linter)
  • Embed settings.prc into main.py to reduce the number of generated files
  • Update main.py to run pman.shim() before ShowBase.__init__() so pman build runs before a window is created
pman - v0.14

Published by Moguri over 2 years ago

CLI

  • Fix config error with pman create

Core

  • Fix "Running main file" f-string

blend2bam

  • Fix error where blend2bam could be called with no source assets
pman - v0.13

Published by Moguri about 4 years ago

This release includes quite a few potentially breaking changes

Core

  • Add main.py to allow using python -m pman
  • Stop re-writing .pman config file after every call to `pman
  • Remove renderers
  • Remove special venv logic
  • Add editorconfig file
  • Switch from format() to f-strings
  • Add control over verbose prints

blend2bam

  • Enabled by default
  • Default to PBR materials
  • Support setting the --animations flag
  • Allow matching against basenames for overrides (instead of just full paths)
  • Do not expect to locate blend2bam on the PATH
pman - v0.12.1

Published by Moguri about 4 years ago

  • Fix error when parsing blend2bam version with patch part
pman - v0.12

Published by Moguri about 4 years ago

  • Fail on building if blend2bam fails
  • Allow matching against file paths for ignore patterns
  • Add quotes to file paths when calling blend2bam to avoid splitting on Windows
pman - v0.11

Published by Moguri over 4 years ago

Config

  • Use dicts instead of OrderedDicts for config now that order is preserved since Python 3.6
  • Add "blender" key to defaults to prevent errors if .pman.user does not exist

Other

  • Require Python >= 3.6
  • List Python 3.8 as supported
  • blend2bam is no longer option to make installation more straight-forward
pman - v0.10

Published by Moguri over 4 years ago

Config

  • Move material_mode and physics_engine from general to a new blend2bam section

Hooks

  • Fix running create_blender() if the project config layer does not have build options

blend2bam

  • Add support for new --pipeline option

Build

  • Make sure the render stub is created if the assets directory does not exist

CLI

  • Fix error code when running pman test

New Project Template

  • Add "base" as an additional builtin for PyLint
  • Lock down PyLint version in setup.py
  • Do not explicitly exclude *.py or __py_cache__/** in setup.py (this is handled by build_apps already)
pman - v0.9.1

Published by Moguri over 5 years ago

  • Fix calling core functions with a config (this fixes pman.shim.init() breaking)
pman - v0.9

Published by Moguri over 5 years ago

Config Overhaul

Configuration has been unified into a single configuration object that can track sources of config values (defaults, project, user). pman.get_config() will return this new config object that still is accessed as a dictionary using config[section][key]. pman.get_user_config() is now an alias to get_config().

When writing, any overrides from project or user settings will be written to their perspective files (.pman and .pman.user). This also allows .pman.user to override anything in defaults or .pman.

NOTE: Config files from pman < 0.4 are no longer supported

Other

  • Add extra_args option to run config section. This gets passed as arguments to the main_file when calling pman.run().
  • Improve linear to sRGB approximation in basic renderer (Issue #11)
  • native2bam: Fix relative texture paths when a texture is referenced multiple times in a file
  • Remove pman.PMan class. This was no longer providing much utility, but it was adding complexity. This is an API-breaking change
pman - v0.8

Published by Moguri over 5 years ago

  • Fix relative paths when using native2bam
  • Add update command
  • Add creation extras
    • blender: Setup project to use Blender/blend2bam (not part of the default anymore)
    • git: Setup project to use git
  • Rearrange default project structure
    • No game directory is created (files put into project root instead)
    • Only copy export directory and settings.prc to app distributions (users must whitelist other files/directories!)
    • Export directory is treated as "hidden"
  • Stop building universal wheels (Python2 support was dropped a while ago)
pman - v0.7

Published by Moguri over 5 years ago

  • Default to null renderer over basic renderer
  • Stop using pkg_resources at runtime (this caused issues with frozen applications)
    • A build must now be run to cache which renderer to use
  • Add a new clean command
pman - v0.6

Published by Moguri over 5 years ago

  • Fix issues with converting assets in sub-directories
  • Cleanup main.py from new project template to use more "best practices"
  • Add settings.prc to new project template
pman - v0.5

Published by Moguri over 5 years ago

  • Add option to control which physics engine blend2bam will target when creating collision solids
  • Expand list of extensions that pman can convert to BAM:
    • egg (and egg.pz)
    • fbx (requires Assimp)
    • obj
    • dae (requires fcollada)
    • ply (requires Assimp)
pman - v0.4

Published by Moguri over 5 years ago

  • Remove Python 2 support
  • Switch to using blend2bam for blend file conversion
  • Use setuptools entry points for renderers (formally called render managers/plugins) and converters
  • Add a passthrough/null renderer that can be used by setting the renderer to none
pman - 0.3

Published by Moguri almost 6 years ago

Add support for new distribution tools from Panda3D 1.10

pman - 0.2

Published by Moguri almost 6 years ago

Package Rankings
Top 15.23% on Pypi.org
Badges
Extracted from project README
Related Projects