acumatica-cli 0.15.0__tar.gz → 0.15.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/PKG-INFO +1 -1
  2. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/pyproject.toml +1 -1
  3. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/extract.py +9 -0
  4. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/README.md +0 -0
  5. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/__init__.py +0 -0
  6. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/bootstrap.py +0 -0
  7. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/bootstrap_plugin.cs +0 -0
  8. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/bootstrap_project.xml +0 -0
  9. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/cli.py +0 -0
  10. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/client.py +0 -0
  11. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/config.py +0 -0
  12. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/firstlogin.py +0 -0
  13. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/models.py +0 -0
  14. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/output.py +0 -0
  15. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/run.py +0 -0
  16. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/seed.py +0 -0
  17. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/seed_catalog.yaml +0 -0
  18. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/state.py +0 -0
  19. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/target.py +0 -0
  20. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/README.md +0 -0
  21. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/baseline/10-subaccounts.yaml +0 -0
  22. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/baseline/20-accounts.yaml +0 -0
  23. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/baseline/40-ledger.yaml +0 -0
  24. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/baseline/50-gl-preferences.yaml +0 -0
  25. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/baseline/60-ledger-company.yaml +0 -0
  26. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/baseline/90-uoms.yaml +0 -0
  27. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/bootstrap/company.yaml +0 -0
  28. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/bootstrap/credit-terms.yaml +0 -0
  29. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/bootstrap/features.yaml +0 -0
  30. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/10-reason-codes.yaml +0 -0
  31. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/20-in-preferences.yaml +0 -0
  32. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/30-availability-rules.yaml +0 -0
  33. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/40-posting-classes.yaml +0 -0
  34. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/50-warehouse.yaml +0 -0
  35. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/51-warehouse-locations.yaml +0 -0
  36. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/52-warehouse-defaults.yaml +0 -0
  37. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/53-tax-categories.yaml +0 -0
  38. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/54-item-classes.yaml +0 -0
  39. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/56-so-preferences.yaml +0 -0
  40. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/57-po-preferences.yaml +0 -0
  41. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/58-order-types.yaml +0 -0
  42. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/60-ar-preferences.yaml +0 -0
  43. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/61-ap-preferences.yaml +0 -0
  44. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/62-ca-preferences.yaml +0 -0
  45. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/63-cash-account.yaml +0 -0
  46. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/64-payment-methods.yaml +0 -0
  47. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/65-statement-cycles.yaml +0 -0
  48. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/70-vendor-classes.yaml +0 -0
  49. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/71-customer-classes.yaml +0 -0
  50. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/75-vendors.yaml +0 -0
  51. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/76-customers.yaml +0 -0
  52. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/80-stock-items-parts.yaml +0 -0
  53. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/82-stock-items-kits.yaml +0 -0
  54. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/master/85-kit-specifications.yaml +0 -0
  55. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/setup/10-financial-year.yaml +0 -0
  56. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/setup/20-master-calendar.yaml +0 -0
  57. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/setup/30-open-periods.yaml +0 -0
  58. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/config/views/10-trial-balance.yaml +0 -0
  59. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/env +0 -0
  60. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/gitignore +0 -0
  61. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/scenario/10-seed-capital.yaml +0 -0
  62. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/scenario/20-buy.yaml +0 -0
  63. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/scenario/30-build.yaml +0 -0
  64. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/scenario/40-sell.yaml +0 -0
  65. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/templates/target +0 -0
  66. {acumatica_cli-0.15.0 → acumatica_cli-0.15.1}/src/acumatica_cli/tenant.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: acumatica-cli
3
- Version: 0.15.0
3
+ Version: 0.15.1
4
4
  Summary: Acumatica ERP Config-as-Code: tenant provisioning, baseline config, and reference data
5
5
  Author: Konstantin Borovik
6
6
  Author-email: Konstantin Borovik <kb@lab5.ca>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "acumatica-cli"
3
- version = "0.15.0"
3
+ version = "0.15.1"
4
4
  description = "Acumatica ERP Config-as-Code: tenant provisioning, baseline config, and reference data"
5
5
  authors = [{ name = "Konstantin Borovik", email = "kb@lab5.ca" }]
6
6
  license = "PolyForm-Noncommercial-1.0.0"
@@ -509,6 +509,11 @@ class _Extraction:
509
509
  """The --only filter: row name (entity or kind) or file stem."""
510
510
  return not self.only or name in self.only or Path(file).stem in self.only
511
511
 
512
+ def _progress(self, target: Path, name: str) -> None:
513
+ """Per-row progress banner matching apply/diff (V9 / I.cmd extract)."""
514
+ inst = self.client.instance
515
+ output.data(f"{target} -> {inst.tenant} on {inst.base_url} ({name})")
516
+
512
517
  def _skip(self, target: Path, reason: str) -> None:
513
518
  """Report one clean per-file skip and tally it."""
514
519
  output.data(f"skip {target} ({reason})")
@@ -553,6 +558,8 @@ class _Extraction:
553
558
  if not self._selected(spec.entity, spec.file):
554
559
  continue
555
560
  target = self.out_dir / spec.file
561
+ # Banner before any outcome (write/skip/would write) — apply shape
562
+ self._progress(target, spec.entity)
556
563
  if self._skip_existing(target):
557
564
  continue
558
565
  # Hybrid contract (T69/T81): a bootstrap-endpoint row for an
@@ -584,6 +591,7 @@ class _Extraction:
584
591
  if not self._selected(synth.kind, synth.file):
585
592
  continue
586
593
  target = self.out_dir / synth.file
594
+ self._progress(target, synth.kind)
587
595
  if self._skip_existing(target):
588
596
  continue
589
597
  synthesize, skip_reason = SYNTHESIZERS[synth.kind]
@@ -614,6 +622,7 @@ class _Extraction:
614
622
  if not self._selected("features", FEATURES_FILE):
615
623
  return
616
624
  target = self.out_dir / FEATURES_FILE
625
+ self._progress(target, "features")
617
626
  if self._skip_existing(target):
618
627
  return
619
628
  gates = [
File without changes