Factorio-draftsman

Latest version: v2.0.0

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 5

0.9.5

* Added `keywords` to `setup.py`
* Added `__contains__` function to `Blueprint` (I thought it was inferred from `__getitem__`, whoops) (14)
* Added `defines.lua` as a more comprehensive solution to the Factorio `defines` issue (15)
* Added distinguishing between multiple versions of the same mod; the latest mod is always preferred, with warnings for duplicates issued (15)
* Started work on `RailPlanner`
* Other minor documentation changes
* Fixed the old repo link in `setup.py`
* Fixed 13:
* Implemented the functionality according to the game, preserving Factorio safety
* Added the new list `pure_virtual` signals to `draftsman.data.signals` for ease of access/iteration
* Updated documentation to reflect these changes
* Moved initialization of `Blueprint.area` attribute before loading entities in `Blueprint.setup()` (14)

0.9.4

* Added the capability to display any logged messages to during `draftsman-update` with the command line argument `-l` or `--log`
* Added `prep.py` to prepare releases more automatically so I don't miss steps like a fool (maybe I'll integrate something like poetry in the future)
* Updated `env.py` to create the `factorio-mods` folder if it doesn't exist, in case the user accidentally deleted it
* Updated `env.py` so that everything is now sorted (mostly) properly
* Updated readme to point to related Alt-F4 article
* Updated `requirements.txt` to include `build` for development
* Changed the manner in which sort items are searched in `env.py` (related to issue 9)
* Changed the manner in which the order of items are determined so there's less redundancy
* Changed `normalize_module_name` from non-digit characters to alphanumeric characters (duh!) (11)
* Changed `normalize_module_name` to distinguish between "slash" paths and "dot" paths and only convert "dot" paths if found (11)
* Added more duct tape to the local file requiring issue machine (11)
* Removed `temp.py` from GitHub distribution, it was only really intended as scrap paper for me
* Fixed 10
* Fixed 12

0.9.3

* Fixed 9

0.9.2

* Added `signals` attribute to `ConstantCombinator`, which aliases `control_behavior["filters"]`
* (Re)Added circuit attributes back to `ArithmeticCombinator` and `DeciderCombinator`
* Minor docs fixes
* Bugfix: resolved 6
* Bugfix: resolved 8 (At least for now, current behavior should be more predictable)
* Also cleaned and documented the `update` process in `env.py` to make it a little clearer exactly what's going on, and trimmed the fat

0.9.1

* Updated `factorio-data` to `1.1.58`
* Added description of `control_behavior` attribute structure to `docs/source` folder
* Added read-only `global_position` property to `SpatialLike`; allows for efficient querying of an objects root-most position
* Added `SpatialHashMap.get_all`
* Added `utils.flatten_entities` since it's used in a number of places
* Added a `ItemCapacityWarning`, issued when `*Container` objects request items that exceed their inventory size
* Added `entities.flippable` to hold whether or not each entity can be flipped or not (tentative, still WIP)
* Integrated `entities.flippable` into `Entity` class, as well as `Transformable`
* Updated `tox.ini` to use `--no-mods` on `draftsman-update`
* Reworked `SpatialHashMap` and `get_area` to use `global_position` instead of `position`
* Reworked `RequestItemsMixin` and added it to more prototypes
* Split `ModuleSlotsMixin` from `RequestItemsMixin` to compartmentalize more
* Adding science pack item requests to a `Lab` no longer raises a warning (works with any lab)
* Made `set_x_filter` code more consistent across different prototype filter types
* Added folder loading to `draftsman-update`
* Documentation format fixes/additions
* Bugfix: Fixed the local paths that now point from `factorio-draftsman` instead of `factorio-draftsman/draftsman` in `draftsman-update` for folders
* Bugfix: Changed Lua file requiring so that it makes (somewhat) more sense; Honestly the whole thing is pretty fricking scuffed, and needs a redo
* Bugfix: Fixed `OverlappingObjectsWarning` occurring when placing two groups with the same local coordinates but different global coordinates in an `EntityCollection`
* Bugfix: Fixed Maximum recursion depth errors when running `examples/item_stack_signals.py` with large modpacks with many items; this should no longer occur period
* Bugfix: Split `index_dict` in `env.extract_items` to `group_index_dict` and `subgroup_index_dict`
* Bugfix: Encapsulated `order` swapping in `env.get_order` with a `try except` block

0.9.0

* Officially added to PyPI (in beta state for the foreseeable future)

Page 3 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.