[GH-ISSUE #1134] v0.1.4: tito module export: Unexpected error #4324

Closed
opened 2026-04-19 12:19:12 -05:00 by GiteaMirror · 5 comments
Owner

Originally created by @Takosaga on GitHub (Jan 23, 2026).
Original GitHub issue: https://github.com/harvard-edge/cs249r_book/issues/1134

Did a fresh install and received the following

$ tito module export

2026-01-23 12:00:51,517 - tito.commands.base - ERROR - Unexpected error in command module
Traceback (most recent call last):
  File "/home/takosaga/Projects/tiny_torch_temp/tinytorch/tito/commands/base.py", line 83, in execute
    return self.run(args)
           ^^^^^^^^^^^^^^
  File "/home/takosaga/Projects/tiny_torch_temp/tinytorch/tito/commands/module/workflow.py", line 1372, in run
    from ..export import ExportCommand
ModuleNotFoundError: No module named 'tito.commands.export'
❌ Unexpected error: No module named 'tito.commands.export'
Originally created by @Takosaga on GitHub (Jan 23, 2026). Original GitHub issue: https://github.com/harvard-edge/cs249r_book/issues/1134 Did a fresh install and received the following ``` $ tito module export 2026-01-23 12:00:51,517 - tito.commands.base - ERROR - Unexpected error in command module Traceback (most recent call last): File "/home/takosaga/Projects/tiny_torch_temp/tinytorch/tito/commands/base.py", line 83, in execute return self.run(args) ^^^^^^^^^^^^^^ File "/home/takosaga/Projects/tiny_torch_temp/tinytorch/tito/commands/module/workflow.py", line 1372, in run from ..export import ExportCommand ModuleNotFoundError: No module named 'tito.commands.export' ❌ Unexpected error: No module named 'tito.commands.export' ```
GiteaMirror added the type: bugarea: tinytorch labels 2026-04-19 12:19:12 -05:00
Author
Owner

@profvjreddi commented on GitHub (Jan 23, 2026):

Hi @Takosaga -- thanks for reporting it, appreciate you posting an issue!

In commit e7051671d (Jan 15, 2026), the ExportCommand class was removed from tito/commands/export.py as "unused", but the import in workflow.py:1372 was not updated:

elif args.module_command == 'export':
    # Delegate to ExportCommand
    from ..export import ExportCommand  # ← This module no longer exists!
    export_command = ExportCommand(self.config)
    return export_command.run(args)

The fix: The ModuleWorkflowCommand class already has an export_module() method (line 960) that handles student exports correctly. The tito module export subcommand just needs to call that method instead of trying to import the deleted ExportCommand.

<!-- gh-comment-id:3790250328 --> @profvjreddi commented on GitHub (Jan 23, 2026): Hi @Takosaga -- thanks for reporting it, appreciate you posting an issue! In commit [`e7051671d`](https://github.com/harvard-edge/cs249r_book/commit/e7051671d) (Jan 15, 2026), the `ExportCommand` class was removed from `tito/commands/export.py` as "unused", but the import in [workflow.py:1372](https://github.com/harvard-edge/cs249r_book/blob/dev/tinytorch/tito/commands/module/workflow.py#L1372) was not updated: ```python elif args.module_command == 'export': # Delegate to ExportCommand from ..export import ExportCommand # ← This module no longer exists! export_command = ExportCommand(self.config) return export_command.run(args) ``` **The fix:** The `ModuleWorkflowCommand` class already has an `export_module()` method (line 960) that handles student exports correctly. The `tito module export` subcommand just needs to call that method instead of trying to import the deleted `ExportCommand`.
Author
Owner

@profvjreddi commented on GitHub (Jan 23, 2026):

Fixed by removing the tito module export subcommand entirely.

Why it was removed:

  • The command was redundant - students should use tito module complete which handles tests + export
  • If students want to export without testing, they can use tito module complete --skip-tests
  • The standalone export functionality (--all, --from-release) is developer-oriented and available via tito dev export

Changes made to workflow.py:

  • Removed the export subparser (lines 184-208)
  • Removed the broken elif args.module_command == 'export' handler that was trying to import the deleted ExportCommand
  • Removed tito module export from the help text

The original ExportCommand class was removed in commit e7051671d but the subcommand reference was left behind, causing this error.

<!-- gh-comment-id:3790277845 --> @profvjreddi commented on GitHub (Jan 23, 2026): Fixed by removing the `tito module export` subcommand entirely. **Why it was removed:** - The command was redundant - students should use `tito module complete` which handles tests + export - If students want to export without testing, they can use `tito module complete --skip-tests` - The standalone export functionality (`--all`, `--from-release`) is developer-oriented and available via `tito dev export` **Changes made to [workflow.py](https://github.com/harvard-edge/cs249r_book/blob/dev/tinytorch/tito/commands/module/workflow.py):** - Removed the `export` subparser (lines 184-208) - Removed the broken `elif args.module_command == 'export'` handler that was trying to import the deleted `ExportCommand` - Removed `tito module export` from the help text The original `ExportCommand` class was removed in commit e7051671d but the subcommand reference was left behind, causing this error.
Author
Owner

@profvjreddi commented on GitHub (Jan 23, 2026):

Please use tito module complete <module number>

The complete command does: Unit tests → Export → Integration tests → Progress tracking. With --skip-tests it just does the export step. But I wouldn't recommend it.

<!-- gh-comment-id:3790285597 --> @profvjreddi commented on GitHub (Jan 23, 2026): Please use `tito module complete <module number>` The complete command does: `Unit tests → Export → Integration tests → Progress tracking`. With `--skip-tests` it just does the export step. But I wouldn't recommend it.
Author
Owner

@profvjreddi commented on GitHub (Feb 19, 2026):

Hi @Takosaga, thanks for all the bug reports across the early modules and tooling. You were one of the first people to really stress test tito and the module pipeline, and that feedback was invaluable for improving the experience for everyone who came after.

We're having a TinyTorch community meetup on Tuesday, March 3rd at 9am. Would you be interested in sharing a few minutes about your journey? What brought you to TinyTorch, what was your experience like getting started, that kind of thing.

As one of our earliest users, we'd love to thank you with a small gift too. Check Discord for more details!

<!-- gh-comment-id:3929785548 --> @profvjreddi commented on GitHub (Feb 19, 2026): Hi @Takosaga, thanks for all the bug reports across the early modules and tooling. You were one of the first people to really stress test tito and the module pipeline, and that feedback was invaluable for improving the experience for everyone who came after. We're having a TinyTorch community meetup on **Tuesday, March 3rd at 9am**. Would you be interested in sharing a few minutes about your journey? What brought you to TinyTorch, what was your experience like getting started, that kind of thing. As one of our earliest users, we'd love to thank you with a small gift too. Check Discord for more details!
Author
Owner

@profvjreddi commented on GitHub (Feb 24, 2026):

Hi @Takosaga,

Thanks for your interest in the TinyTorch community meetup on Tuesday, March 3rd at 9am. To get you set up as a speaker and share logistics, we need a few details from you.

Please:

  1. Reply to: karijanapareddi@gmail.com
    CC: vj@eecs.harvard.edu and andreamattia.garavagno@santannapisa.it

  2. Use the email address you want us to use for Zoom registration and for promoting you to panelist so you can speak on the call (it's a webinar-style meeting).

  3. Slide We'd love it if you could share a slide or two about your experience, you can add them here—there's a template to follow:
    https://docs.google.com/presentation/d/1h0bQZJVtmXYuO4jgakE3x3xGt0e8fNsvW7QfWK1_5D4/edit?slide=id.g3cac3cc65ae_0_19#slide=id.g3cac3cc65ae_0_19

We'll send logistical details (Zoom link, agenda, etc.) to your registered email.

Looking forward to having you on the call.

<!-- gh-comment-id:3952969546 --> @profvjreddi commented on GitHub (Feb 24, 2026): Hi @Takosaga, Thanks for your interest in the TinyTorch community meetup on **Tuesday, March 3rd at 9am**. To get you set up as a speaker and share logistics, we need a few details from you. **Please:** 1. **Reply to:** **karijanapareddi@gmail.com** **CC:** vj@eecs.harvard.edu and andreamattia.garavagno@santannapisa.it 2. **Use the email address** you want us to use for Zoom registration and for promoting you to **panelist** so you can speak on the call (it's a webinar-style meeting). 3. **Slide** We'd love it if you could share a slide or two about your experience, you can add them here—there's a template to follow: https://docs.google.com/presentation/d/1h0bQZJVtmXYuO4jgakE3x3xGt0e8fNsvW7QfWK1_5D4/edit?slide=id.g3cac3cc65ae_0_19#slide=id.g3cac3cc65ae_0_19 We'll send logistical details (Zoom link, agenda, etc.) to your registered email. Looking forward to having you on the call.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/cs249r_book#4324